Skip to content

常用插件

向军大叔每晚八点在 抖音bilibli 直播

xj-small

neovim 插件非常多,本章来介绍几款好用的插件

扩展安装

插件安装一般使用 vim-plug 管理,基本步骤如下

  • 本章示例中以 Plug 开始的即为插件,要放在 ~/.config/nvim/init.vim 配置文件中
  • 执行 source $INITVIM 重新加载 neovim 配置项
  • neovim 中执行命令 :PlugInstall 来安装配置项中的插件

扩展推荐

coc-phpls

coc-phpls 是 php 语言的代码提示插件

Untitled

需要先安装 Intelephense

$ npm i intelephense -g

然后安装插件

:CocInstall coc-phpls

需要通过命令 :CocConfig 进行配置

{
  "languageserver": {
    "intelephense": {
      "command": "intelephense",
      "args": ["--stdio"],
      "filetypes": ["php"],
      "initializationOptions": {
        "storagePath": "/tmp/intelephense"
      }
    }
  }
}

如果你有 Intelephense 付费密钥,在 coc-settings.json 文件中添加,使用 :CocConfig 可编辑该文件

{
    "intelephense.licenceKey": "your licence key",
}

vim-startify

vim-startify 在启动窗口显示最近打开的文件

Startify in action!

使用 vim-plug 进行安装

Plug 'mhinz/vim-startify'

LeaderF

LeaderF 用于文件检测类似于 vscode 中的 ctrl+p

And Mode

  1. 配置软件环境,需要先使用condabrew

    conda install -c conda-forge pynvim
    pip3 install --user --upgrade neovim
    brew install global
    sudo dnf install ctags
  2. init.vim 中定义插件

    Plug 'Yggdroot/LeaderF', { 'do': './install.sh' }
  3. init.vim 中定义配置

    "弹窗显示结果
    let g:Lf_WindowPosition = 'popup'
    
    "搜索当前文件的方法
    nmap \<leader\>o :LeaderfFunction<CR>
  4. 执行 :PlugInstall 安装插件

键盘指令

命令映射说明
:LeaderfFile<leader>f搜索当前目录下的文件
:LeaderfBuffer<leader>b搜索当前的 Buffer
:LeaderfFunction<leader>o (自行设置)搜索当前文件的方法
:LeaderfMru搜索最近使用过的文件

LeaderF启动后可以使用的命令

命令说明
<ESC>退出 LeaderF
<Tab>在检索模式和选择模式之间切换
<C-X>在水平窗口打开
<C-]>在垂直窗口打开
<C-T>在新标签打开

ranger-vim

ranger-vim是 ragner 的 vim 版本,用于打开文件非常方便,首先需要安装ranger

Plug 'iberianpig/ranger-explorer.vim'
Plug 'rbgrouleff/bclose.vim'

然后在.init.vim 中定义快捷键

nnoremap \<leader\>c :RangerOpenCurrentDir<CR>
nnoremap \<leader\>o :RangerOpenProjectRootDir<CR>

ap/vim-css-color

ap/vim-css-color 用于显示 css 中定义的颜色

img

vim-airline

vim-airline 是一款状态栏美化插件

img

使用 vim-plug 安装插件

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

关闭插件

:AirlineToggle

设置主题风格

命令行输入下面命令

:AirlineTheme

tab 后会有风格选择界面如下

image-20200109145045335

ale

ale 用于语法检查和语义错误

安装插件

Plug 'dense-analysis/ale'

vim-floaterm

浮动窗口管理插件

image-20210604012957417

nerdtree

目录文件树插件,速度很快

Plug 'preservim/nerdtree'

常用指令介绍

指令说明
m调出文件管理子菜单
o打开目录

coc-explorer

coc-explorer 显示目录文件目录树

安装

:CocInstall coc-explorer

配置快捷键,在 ~/.config/nvim/init.vim 配置文件中定义

:nmap ge :CocCommand explorer<CR>

打开目录树后,使用 ? 可以查看到帮助说明

vim-php-cs-fixer

vim-php-cs-fixer 用于格式化 php 代码

php-cs-fixer

vim-php-cs-fixer 插件需要安装 php-cs-fixer

brew install php-cs-fixer

如果上面安装失败,请使用以下方式安装

$ wget https://cs.symfony.com/download/php-cs-fixer-v2.phar -O php-cs-fixer

$ sudo chmod a+x php-cs-fixer
$ sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer
$ sudo chmod 0777 /usr/local/bin/php-cs-fixer

配置插件

init.vim 文件中配置

Plug 'stephpy/vim-php-cs-fixer'

执行命令安装

:PlugInstall

nerdcommenter

nerdcommenter 用于快速注释文本

安装插件

Plug 'preservim/nerdcommenter'
指令说明
<leader>c<space>添加或取消注释
<leader>cc添加注释

coc-eslint

使用eslint进行代码格式化与校验

Eslint

首先安装 eslint

npm install eslint --save-dev

初始项目

npm init

生成.eslintrc.js配置文件

eslint --init

有几项需要选择,其他回车即可

  1. Which framework does your project use?

coc-eslint

下面来安装cod-eslint插件

:CocInstall coc-eslint

需要通过 :CocConfig 进行配置

"coc.preferences.formatOnSaveFiletypes": [
    "css",
    "Markdown",
    "javascript",
    "less",
    "sass"
  ],

html/css

使用 coc.vim 安装以下插件增强 html/css/js/vue 代码补全,其它语言请阅读手册

:CocInstall coc-tsserver coc-json coc-html coc-css coc-vetur coc-ember coc-snippets coc-emmet coc-highlight

UltiSnips

UltiSnips 是非常好用的代码片段插件

Untitled

安装插件

Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'

使用 tab 键确定使用的代码片段

wakatime

用于记录编码历史

image-20200109111556323

安装插件

Plug 'wakatime/vim-wakatime'

执行命令添加 APIKEY

:WakaTimeApiKey

image-20200109110638411

auto-pairs

Auto-pairs 自动闭合扩号

Plug 'jiangmiao/auto-pairs'

editorconfig

使用 editorconfig 可以让代码格式在不同开发工具中保持一致

Plug 'editorconfig/editorconfig-vim'

然后在项目目录中创建.editorconfig 内容如下

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
max_line_length = 1000

[*.md]
trim_trailing_whitespace = false

[*.{yml,yaml}]
indent_size = 2

vim-fugitive

vim-fugitive 是 GIT 管理插件

安装插件

Plug 'tpope/vim-fugitive'

常用命令

命令说明
:Gdiff显示修改差异
:Gblame提交历史记录
:Gstatus调出git status查看当前状态
:Gcommit提交当前文件,输入命令Gwrite保存提交

vim-gitgutter

vim-gitgutter 显示文件的编辑状态

image-20200109180440260

安装插件

Plug 'airblade/vim-gitgutter'

gv.vim

gv.vim 快速查找 GIT 提交记录

安装插件

Plug 'tpope/vim-fugitive'
Plug 'junegunn/gv.vim'

基本命令

命令说明
:GV打开提交浏览器
:GV!将仅列出影响当前文件的提交
:GV?用当前文件的修订填充位置列表

image-20200109182343954