Ⅰ. 插件描述
Language Server Protocol (LSP) support for vim and neovim.Ⅱ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'autozimu/languageclient-neovim'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'autozimu/languageclient-neovim'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'autozimu/languageclient-neovim'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/autozimu/languageclient-neovim
Ⅳ. 文档说明
For legacy python implementation, see branch master.
LanguageClient-neovim
[Language Server Protocol] (LSP) support for [vim] and [neovim].
More recordings at Updates, screenshots & GIFs.
Features
- Non-blocking asynchronous calls.
- Sensible completion.
Integrated well with deoplete or
ncm2, or MUcomplete.
Or simply with vim built-in omnifunc
.
- Realtime diagnostics/compiler/lint message.
- Rename.
- Hover/Get identifier info.
- Goto definition.
- Goto reference locations.
- Workspace/Document symbols query.
- Formatting.
- Code Action/Quick Fix.
Quick Start
Using vim-plug
:
Plug 'autozimu/LanguageClient-neovim', {
\ 'branch': 'next',
\ 'do': 'bash install.sh',
\ }
" (Optional) Multi-entry selection UI.
Plug 'junegunn/fzf'
Example configuration
" Required for operations modifying multiple buffers like rename.
set hidden
let g:LanguageClient_serverCommands = {
\ 'rust': ['~/.cargo/bin/rustup', 'run', 'stable', 'rls'],
\ 'javascript': ['/usr/local/bin/javascript-typescript-stdio'],
\ 'javascript.jsx': ['tcp://127.0.0.1:2089'],
\ 'python': ['/usr/local/bin/pyls'],
\ 'ruby': ['~/.rbenv/shims/solargraph', 'stdio'],
\ }
nnoremap <F5> :call LanguageClient_contextMenu()<CR>
" Or map each action separately
nnoremap <silent> K :call LanguageClient#textDocument_hover()<CR>
nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR>
nnoremap <silent> <F2> :call LanguageClient#textDocument_rename()<CR>
Run command nvim +PlugInstall +UpdateRemotePlugins +qa
in shell to install
this plugin. Install corresponding language servers. Restart neovim/vim and
language services will be available right away. Happy hacking!
Install
Troubleshooting
Language Servers
Note, you will also need language server(s) to take advantages of
this plugin. To find list of language server implementations and how
to install them, please see http://langserver.org and/or
https://microsoft.github.io/language-server-protocol/implementors/servers/.
Documentation
:help LanguageClient
for full list of configurations, commands and functions.
Changelog
See [Updates]. Subscribe the issue if you want to receive notifications.
Contributing
License
The MIT License.