" configure tags - add additional tags here or comment out not-used ones set tags+=~/.vim/tags/cpp " build tags of your own project with F11 map :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q . map :mksession! Session.vim \| wviminfo! viminfo set modeline set noexpandtab set listchars+=precedes:<,extends:> " Language Server let g:lsp_signs_enabled = 1 " enable signs let g:lsp_diagnostics_echo_cursor = 1 " enable echo under cursor when in normal mode "if executable('pyls') " " pip install python-language-server " au User lsp_setup call lsp#register_server({ " \ 'name': 'pyls', " \ 'cmd': {server_info->['pyls']}, " \ 'whitelist': ['python'], " \ }) "endif if executable('ghdl-ls') au User lsp_setup call lsp#register_server({ \ 'name': 'ghdl-ls', \ 'cmd': {server_info->['ghdl-ls']}, \ 'whitelist': ['vhdl'], \ }) endif function! s:on_lsp_buffer_enabled() abort setlocal omnifunc=lsp#complete setlocal signcolumn=yes nmap gd (lsp-definition) nmap (lsp-rename) " refer to doc to add more commands endfunction augroup lsp_install au! " call s:on_lsp_buffer_enabled only for languages that has the server registered. autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled() augroup END