admin 管理员组

文章数量: 887019

图方便也可以直接用vim插件合集工具VimPlus,但是它提供的代码自动补全工具是YouCompleteMe,可能会出现无法使用的问题。

一、必备插件

1. Vim-Plug
  • 用途:方便统一管理vim插件

  • 安装:

    curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
        https://raw.githubusercontent/junegunn/vim-plug/master/plug.vim
    
  • 使用:

    • 安装插件:

      :PlugInstall
      
    • 更新插件:

      :PlugUpdate
      
    • 删除插件:

      :PlugClean
      
2. NerdTree
  • 用途:在 Vim 中显示文件系统的树形结构

  • 安装:

    Plug 'preservim/nerdtree'
    
  • 使用:

    • 基本使用:

      :NERDTreeToggle:打开或关闭 NerdTree。
      :NERDTreeOpen:打开选中的文件。
      :NERDTreeCreate:创建新文件或目录。
      :NERDTreeRefresh:刷新 NerdTree 窗口。
      
    • 配置快捷键:

      nnoremap <leader>n :NERDTreeFocus<CR>
      nnoremap <C-n> :NERDTree<CR>
      nnoremap <C-t> :NERDTreeToggle<CR>
      nnoremap <C-f> :NERDTreeFind<CR>
      
    • 配置自动打开NERDTree:

      " Start NERDTree when Vim starts with a directory argument.
      autocmd StdinReadPre * let s:std_in=1
      autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists('s:std_in') |
          \ execute 'NERDTree' argv()[0] | wincmd p | enew | execute 'cd '.argv()[0] | endif
      
3. coc.nvim
  • 用途:代码补全和语法检查功能

  • 安装:

    1. 需要提前安装nodejs,具体版本根据github仓库里的提示,然后再在vim里添加Plug;

    Plug 'neoclide/coc.nvim', {'branch': 'master', 'do': 'npm ci'}
    

    2. 需要在配置文件里自定义语言支持,以下以我的MacOS为C/C++添加代码补全为例:

    • 第一步:安装clangd(默认自带,没用可执行以下安装);
    brew install clangd
    
    • 第二步:打开coc的配置文件,使用命令:CocConfig打开配置文件,然后添加clangd支持;
    {
        "languageserver": {
            "clangd": {                                                                                                                             
                "command": "clangd",
                "rootPatterns": ["compile_flags.txt", "compile_commands.json"],
                "filetypes": ["c", "cc", "cpp", "c++", "objc", "objcpp"]
            }
        }
    }
    
    • 使用: 修改配置文件后,在vim里执行:PlugInstall后即可。自定义配置可参考github。

      Ctrl + N: 向下移动到下一个建议项
      Ctrl + P: 向上移动到上一个建议项
      
4. ctags
  • 用途: 实现函数声明/实现跳转

  • 安装: 实际上它不是vim插件,它是一个用于生成代码标签索引文件的工具

    // 以下以MacOS为例
    brew install ctags
    
  • 使用:

    • 首先在项目目录下执行ctags -R .
    • 使用 Ctrl-] 快捷键执行跳转,这会将光标移动到标签的定义处;
    • 使用 Ctrl-t 返回到之前的位置;
    • 当项目更新时在项目目录下执行ctags -R .更新索引目录;
5. vim-devicons
  • 用途:显示文件类型图标

  • 安装:

    Plug 'ryanoasis/vim-devicons'
    
  • 使用: 修改配置文件后,在vim里执行:PlugInstall后即可。

7. auto-pairs
  • 用途: 自动补全引号、圆括号、花括号等

  • 安装:

    Plug 'jiangmiao/auto-pairs'
    
  • 使用: 修改配置文件后,在vim里执行:PlugInstall后即可。

8. Rainbow Brackets
  • 用途: 为括号、引号、方括号和其他符号添加颜色

  • 安装:

    Plug 'luochen1990/rainbow'
    let g:rainbow_active = 1 "set to 0 if you want to enable it later via :RainbowToggle
    
  • **使用:**修改配置文件后,在vim里执行:PlugInstall后即可。

9. vim-airline
  • 用途: 用于状态栏美化

  • 安装:

    Plug 'vim-airline/vim-airline'
    
  • 使用:

    • 开启顶部标签选项卡,可自定义快捷键进行跳转

      let g:airline#extensions#tabline#enabled = 1
      
    • 在选项卡之间跳转

      // 切换到下一个文件
      :bn 
      // 切换到上一个文件
      :bp 
      // 打印文件buffer的列表,带编号
      :ls 
      // 切换到第N个文件,例如 :b 3 命令切换到第3个文件。文件编号可以用 ls 命令查看
      :b [N] 
      // 通过文件名切换到 bufname 对应的文件,输入文件名时,可以用 Tab 键补全。
      :b {bufname}
      

二、其他插件

1. vim-nerdtree-syntax-highlight
  • 用途:NerdTree文件类型高亮

  • 安装:

    Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
    
  • 使用: 修改配置文件后,在vim里执行:PlugInstall后即可。自定义配置可参考github。

2. gv
  • 用途:显示git提交记录

  • 安装:

    Plug 'tpope/vim-fugitive'
    Plug 'junegunn/gv.vim'
    
  • 使用:

    • 查看提交记录::GV
3. nerdtree-git-plugin
  • 用途:用于NerdTree显示git状态

  • 安装:

    Plug 'preservim/nerdtree' |
                \ Plug 'Xuyuanp/nerdtree-git-plugin'
    
  • 使用:

    • 配置显示图标

      let g:NERDTreeGitStatusIndicatorMapCustom = { 
                  \ "Modified"  : "✹",
                  \ "Staged"    : "✚",
                  \ "Untracked" : "✭",
                  \ "Renamed"   : "➜",
                  \ "Unmerged"  : "═",
                  \ "Deleted"   : "✖",
                  \ "Dirty"     : "✗",
                  \ "Clean"     : "✔︎",
                  \ 'Ignored'   : '☒',
                  \ "Unknown"   : "?" 
                  \ }
      
4. tagbar
  • 用途: 用于显示类/方法/变量

  • 安装:

    Plug 'preservim/tagbar'
    
  • 使用:

    • 配置快捷键

      // 配置 Tagbar 映射键
      nnoremap <F8> :TagbarToggle<CR>
      // 配置 Tagbar 的窗口位置
      let g:tagbar_position = 'right'
      

本文标签: 插件 vim