Need help with LanguageClient-neovim?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

3.2K Stars 260 Forks MIT License 1.7K Commits 93 Opened issues


Language Server Protocol (LSP) support for vim and neovim.

Services available


Need anything else?

Contributors list

For legacy python implementation, see branch master.


CircleCI Join the chat at

Language Server Protocol support for vim and neovim.


More recordings at Updates, screenshots & GIFs.


Quick Start



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

" (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://'], \ '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 (lcn-menu) " Or map each action separately nmap K (lcn-hover) nmap gd (lcn-definition) nmap (lcn-rename)

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!


LanguageClient-neovim defines various Plug mappings, see

:help LanguageClientMappings
for a full list and an example configuration.


Full installation steps

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 and/or


We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.