用vim写Nodejs,用啥补全插件比较好呢?
用vim写Nodejs,用啥补全插件比较好呢?
问下:)
当然可以!在 Vim 中编写 Node.js 代码时,选择一个合适的代码补全插件非常重要。以下是一些流行的 Vim 插件,它们可以帮助你在编写 Node.js 代码时提高效率。
1. YouCompleteMe
YouCompleteMe 是一个非常强大的代码补全引擎,支持多种语言,包括 JavaScript 和 TypeScript。它还可以通过配置支持 Node.js 的特定功能。
安装方法
你可以使用 Vundle 或 vim-plug 来安装 YouCompleteMe。这里以 vim-plug 为例:
" 在你的 .vimrc 文件中添加以下内容
Plug 'Valloric/YouCompleteMe'
" 然后执行以下命令安装插件
:source ~/.vimrc
:PlugInstall
配置
为了使 YouCompleteMe 支持 JavaScript 和 TypeScript,你需要安装额外的依赖项。这通常涉及到编译 YCM 的核心部分:
git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe
cd ~/.vim/bundle/YouCompleteMe
./install.py --ts-completer
2. deoplete.nvim
deoplete.nvim 是一个基于异步插件框架的插件,支持多种语言,包括 JavaScript。它需要与一些语言服务器(如 TernJS)结合使用来提供最佳的代码补全体验。
安装方法
使用 vim-plug 安装 deoplete.nvim:
" 在你的 .vimrc 文件中添加以下内容
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'autozimu/LanguageClient-neovim', { 'do': 'bash install.sh' }
" 然后执行以下命令安装插件
:source ~/.vimrc
:PlugInstall
配置
配置 deoplete.nvim 和 LanguageClient-neovim:
let g:deoplete#enable_at_startup = 1
" LanguageClient 配置
let g:LanguageClient_serverCommands = {
\ 'javascript': ['typescript-language-server', '--stdio'],
\}
总结
- YouCompleteMe:适合需要强大补全功能的开发者。
- deoplete.nvim + LanguageClient-neovim:适合喜欢轻量级插件且希望使用语言服务器架构的开发者。
根据你的具体需求选择合适的插件,祝你编码愉快!
使用 Vim 编写 Node.js 时,一个非常受欢迎的代码补全插件是 coc.nvim。coc.nvim 是一个基于 Language Server Protocol (LSP) 的插件,能够提供强大的代码补全、跳转到定义、查找引用等功能。
安装步骤
-
安装 Vim 插件管理器:推荐使用
vim-plug。sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' -
配置
.vimrc文件:call plug#begin('~/.vim/plugged') Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'dense-analysis/ale' call plug#end() -
安装插件: 打开 Vim 并运行
:PlugInstall命令来安装所选的插件。 -
配置
coc.nvim: 在.vimrc中添加以下配置:" 使用 coc.nvim 进行代码补全 inoremap <silent><expr> <CR> pumvisible() ? coc#_select_confirm() : coc#rpc#request('doKeyMap', ['i', '<CR>', '']) . "\n" inoremap <silent><expr> <Tab> pumvisible() ? coc#_select_confirm() : CocCompleteSelect() " 配置 LSP 设置 let g:coc_global_extensions = [ \ 'coc-tsserver', " TypeScript 语言支持 \ 'coc-eslint', " ESLint 支持 \ 'coc-prettier', " Prettier 格式化 \ ] " 开启诊断提示 autocmd CursorHold * silent! call CocActionAsync('highlight')
示例代码
假设你要编写一个简单的 Node.js 脚本,比如一个读取文件的脚本:
const fs = require('fs');
fs.readFile('./example.txt', 'utf-8', (err, data) => {
if (err) throw err;
console.log(data);
});
使用 coc.nvim,当你开始键入 fs. 时,Vim 会自动弹出一个补全菜单,显示所有可用的方法,如 readFile、writeFile 等。这极大地提高了开发效率。
通过上述配置,coc.nvim 可以提供优秀的代码补全功能,并且与 ESLint 和 Prettier 集成,帮助你保持代码质量。

