关于node.js:上手Cocnvim-完全指南

5次阅读

共计 1667 个字符,预计需要花费 5 分钟才能阅读完成。

上手 Coc.nvim 齐全指南

介绍

Coc.nvim 是一个基于 NodeJS 的实用于 Vim8, Neovim 的 Vim 智能补全插件。
领有残缺的 LSP 反对。配置、应用形式及插件零碎的整体格调相似 VSCode.

对于我本人来说,抉择它的起因就是它安装简单,功可能用。相比 YouCompleteMe 而言装置过程几乎太难受了。

更多的信息能够参见 Wiki.

另:因为 Coc 自身是 Vim 的一个插件而已,但它又有本人的插件零碎,所以上面我会将 Coc 的插件叫做子插件以作辨别。

装置

前提

因为 Coc.nvim 是基于 NodeJS 的,所以如果机器上没有 NodeJS 须要先装置 NodeJS.

Vundle

增加上面的内容到.vimrc:

Plugin 'neoclide/coc.nvim'

Vim 外面运行以下命令:

:source %
:PluginInstall

Vundle 版本低于0.10.2 的将Plugin 替换成Bundle.

NeoBundle

增加上面的内容到.vimrc:

NeoBundle 'neoclide/coc.nvim'

Vim 外面运行以下命令:

:source %
:NeoBundleInstall

VimPlug

增加上面的内容到.vimrc:

Plug 'neoclide/coc.nvim'

Vim 外面运行以下命令:

:source %
:PlugInstall

Pathogen

切换到 Pathogen 目录下并拉对应仓库即可:

cd ~/.vim/bundle
git clone https://github.com/neoclide/coc.nvim

增加插件

因为 Coc 自身并不提供具体语言的补全性能,更多的只是提供了一个补全性能的平台,
所以在装置实现后,咱们须要装置具体的语言服务以反对对应的补全性能。
关上 Vim 并应用以下命令即可主动装置子插件及相干依赖。

:CocInstall coc-json coc-tsserver

其中 coc-json coc-tsserver 这些是对应的反对 JSON, Typescript 的相干子插件。
要检索都有哪些子插件能够间接在 Npm 上查找 coc.nvim,
亦或者应用 coc-marketplace 间接在 Vim 外面进行治理,装置命令如下:

:CocInstall coc-marketplace

装置完后用上面命令能够关上面板,Tab 可对高亮的子插件进行装置卸载等操作。

# 关上面板
:CocList marketplace

# 搜寻 python 相干子插件
:CocList marketplace python

用高低能够抉择,按 Tab 能够进行对应操作。

另外在这里 有一份绝对残缺的已反对的子插件列表,但不确定是否全面。

批改配置

在 Vim 中能够对各个内置的性能或者外加的子插件进行配置。就相似 Vscode 的配置零碎一样。具体能够设置什么内容能够参见仓库的 Wiki

我本人用的不多,只增加了coc-prettier 相干的几个:

{
  "prettier.singleQuote": true,
  "prettier.trailingComma": "all",
  "prettier.bracketSpacing": false
}

~/.vimrc 中增加以下内容,能够应用 Tab 和 Shift+Tab 进行抉择补全。

" Use <Tab> and <S-Tab> to navigate the completion list
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"

增加罕用快捷键

为一些罕用的性能增加快捷键,能够在 ~/.vimrc 中写入:

" Use <Ctrl-F> to format documents with prettier
command! -nargs=0 Prettier :CocCommand prettier.formatFile
noremap <C-F> :Prettier<CR>

下面这段配置增加了一个 Prettier 的快捷命令 :Prettier 并增加了快捷键 Ctrl+F.

正文完
 0