Vim插件使用记录

本文最后更新于:2023年3月11日 晚上

Vim插件使用记录

顺便说一句,可以去这个网站vimawesome看看你想要的插件。

vim-visual-multi

首先说明一下,我是通过up主”theCW”得知的这个插件——多光标的更改文本,这是他的b站视频,但是他的视频中的visual-multi版本是较早版本的了。

Installation

Plug 'mg979/vim-visual-multi', {'branch': 'master'}

Usage

开启V-M模式(这个插件的主要功能就是开启这个模式):press C-n

这个时候光标就选中了当前的词,然后再按C-n就开始匹配下一个词

然后n选择下一个,N返回上一个选中,q跳过当前选择下一个。(这个和up主说的不太一样,因为版本更新

Notice

需要注意的一点是,当你使用V-M模式的时候,你在做完修改之后按Esc之后并没有退出该模式,你还需按一次退出才能退出V-M模式

visual-multi同时还提供了Ctrl+UpCtrl+Down的组合来使你可以一次性选中多行中的一个位置,我个人觉得并没什么用,因为选择块模式(C-v)已经满足我们对这样的需求

vim-airline

Installation

Plug 'vim-airline/vim-airline'

Usage

其实很简单,你会看到vim下方出现了一个彩色的状态条

里面显示了诸如模式,文件路径,文件类型,行数列数等信息

Configuration

首先你肯定想要美化一下airline

  • 更改主题(colorscheme)

    首先你可以安装一个vim-airline-themes

    Plug 'vim-airline/vim-airline-themes'

    然后你就可以设置一个自己喜欢的主题, 比如let g:airline_theme='atomic'

  • 设置airline下方的符号

    你肯定会想要一个有多个符号的airline,如果你安装了nerdfont就可以这样配置

    " airline的所有符号设置
    if !exists('g:airline_symbols')
        let g:airline_symbols={}
    endif
    " unicode symbols
    let g:airline_left_sep = ''
    let g:airline_left_alt_sep = ''
    let g:airline_right_sep = ''
    let g:airline_right_alt_sep = ''
    let g:airline_symbols.colnr = ' :'
    let g:airline_symbols.readonly = ''
    let g:airline_symbols.linenr = ' :'
    let g:airline_symbols.maxlinenr = '☰ '
    let g:airline_symbols.branch = ''
    let g:airline_symbols.dirty='⚡'
  • 设置airline的section配置

    " =============================
    " ==== airline section配置 ====
    " =============================
    " let g:airline_section_c = airline#section#create(['tagbar'])
    let g:airline_section_b = '%{strftime("%d/%m %H:%M")}'
    " let g:airline_section_x = '%{expand("%")}'  " 显示文件名
    " let g:airline_section_y = airline#section#create(['%{strftime("%D")}'])
    let g:airline_section_z = airline#section#create(['%{strftime("%m/%d %H:%M ")}', 'linenr', 'maxlinenr'])
    " let g:airline#extensions#tabline#enabled = 1

这个东西主要配置你的airline显示什么内容

NERDTree

不得不说nerdtree这个玩意真的是个大头,你可以将其理解成VS Code里面的文件管理视图。有很多配合NERDTree使用的插件。

Installation

Plug 'preservim/nerdtree'

Usage

可以通过绑定的键位来调出NERDTree,比如我的就是Ctrl+b(和VS Code一样),然后按出之后就可以调出NERDTree了。

invoke nerdtree

还是不错的。

Plugin in Plugin

有很多的插件可以配合NERDTree比如vim-devicons,vim-nerdtree-syntax-highlight,nerdtree-git-plugin

第一个就是我可以显示图标的必装插件,这些插件都可以到NERDTree的主页找到

Configuration

8说了,直接上配置代码:

" =========================
" ===== 设置NerdTree ======
" =========================
map <C-b> :NERDTreeMirror<CR>
map <C-b> :NERDTreeToggle<CR>
:let g:NERDTreeWinSize=25
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif " 如果是最后一个窗口就关闭nerdTree
autocmd BufEnter * if winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif  " 如果是最后一个标签就关闭nerdTree
" 设置NERDTree和nerdtree-git联动
let g:NERDTreeGitStatusUseNerdFonts = 1
let g:NERDTreeGitStatusShowIgnored = 1
let g:NERDTreeGitStatusConcealBrackets = 0
let g:NERDTreeGitStatusIndicatorMapCustom = {
    \ 'Modified'  :'✹',
    \ 'Staged'    :'✚',
    \ 'Untracked' :'✭',
    \ 'Renamed'   :'➜',
    \ 'Unmerged'  :'═',
    \ 'Deleted'   :'✖',
    \ 'Dirty'     :'✗',
    \ 'Ignored'   :'☒',
    \ 'Clean'     :'✔︎',
    \ 'Unknown'   :'?',
    \ }

    " nerdtree和vim-devicons联动
    let g:webdevicons_conceal_nerdtree_brackets=1
    " 使用nerd-highlight-syntax
    let g:WebDevIconsDisableDefaultFolderSymbolColorFromNERDTreeDir = 1
    let g:WebDevIconsDisableDefaultFileSymbolColorFromNERDTreeFile = 1

markdown-preview.nvim

用vim来写.md文件就是一种享受对么,所以当然要配备上preview插件。

你可能还听说instant-markdown,也是完成同样的预览功能,而且还是纯用vimscript写的,连theCW大佬都是用的这一款。但是为什么我还要推荐markdown-preview呢,纯粹是我用习惯了懒得换了XD

Installation

Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']}

可以看到因为使用了js,所以次插件依赖于node才能运行。

Usage

还是老规矩:绑定键位,然后调用

ps: 配合自己写的Run脚本更香哦

Plugin in Plugin

推荐安装vim-table-mode

用来格式化表格的工具插件,同样是绑定键位食用

polyglot

这个玩意简直就是增强vim或者是nvim的神器,官方是这么形容这个玩意的:

One to rule them all, one to find them, one to bring them all and in the darkness bind them.

Installation

set nocompatible " 一定要确保自己开启了这个

call plug#begin()

Plug 'sheerun/vim-polyglot'

call plug#end()

Usage

怎么使用?当你再次打开你的neovim开始写代码时,你会发现很多的不一样,你觉得自己又行了

Configuration

事实上,polyglot它的功能太过于强大,以至于将markdown文件的很多显示更新了,尽管这是一个很好的事,但是因为它渲染的东西太多了,当你的markdown文件太大的时候,很可能那些效果就无效了,这样我们还不如关闭polyglot对md的渲染

" ==============
" 设置polyglot
" ==============
let g:polyglot_disabled = ['markdown']    " 禁用polyglot在markdow中的使用

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!