#vim #neovim #language-server #lsp #protocols #rename #language-server-protocol

app autozimu/languageclient

为 vim 和 neovim 提供语言服务器协议 (LSP) 支持

30 个版本

0.1.161 2020 年 12 月 10 日
0.1.160 2020 年 10 月 24 日
0.1.158 2020 年 7 月 5 日
0.1.156 2020 年 1 月 7 日
0.1.131 2018 年 11 月 24 日

#68文本编辑器

3,470 星 & 41 关注者

400KB
10K SLoC

Rust 7K SLoC // 0.0% comments Vim Script 2K SLoC // 0.0% comments Python 407 SLoC // 0.0% comments Shell 143 SLoC // 0.1% comments PowerShell 32 SLoC // 0.2% comments

有关旧版 Python 实现,请参阅 master 分支.

LanguageClient-neovim

CircleCI Join the chat at https://gitter.im/LanguageClient-neovim/LanguageClient-neovim

语言服务器协议 支持 vimneovim.

rename

更多信息请参阅 更新、截图 & GIFs.

特性

快速入门

使用 vim-plug

Plug 'autozimu/LanguageClient-neovim', {
    \ 'branch': 'next',
    \ 'do': 'bash install.sh',
    \ }

" (Optional) Multi-entry selection UI.
Plug 'junegunn/fzf'

示例配置

" 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'],
    \ }

" note that if you are using Plug mapping you should not use `noremap` mappings.
nmap <F5> <Plug>(lcn-menu)
" Or map each action separately
nmap <silent>K <Plug>(lcn-hover)
nmap <silent> gd <Plug>(lcn-definition)
nmap <silent> <F2> <Plug>(lcn-rename)

在 shell 中运行命令 nvim +PlugInstall +UpdateRemotePlugins +qa 以安装此插件。安装相应的语言服务器。重启 neovim/vim,语言服务将立即可用。快乐编码!

映射

LanguageClient-neovim 定义了各种 Plug 映射,有关完整列表和示例配置,请参阅 :help LanguageClientMappings

安装

完整安装步骤

语言服务器

注意,您还需要语言服务器来充分利用此插件。有关语言服务器实现列表及其安装方法,请参阅 http://langserver.org 和/或 https://microsoft.github.io/language-server-protocol/implementors/servers/

文档

依赖项

~8–19MB
~256K SLoC