let g:ycm_server_log_level = 'info' let g:ycm_add_preview_to_completeopt = 'popup' let g:ycm_collect_identifiers_from_comments_and_strings = 1 let g:ycm_complete_in_strings = 1 let g:ycm_auto_hover = '' let g:ycm_auto_trigger = 1 let g:ycm_show_diagnostics_ui = 0 let g:ycm_error_symbol = 'E>' let g:ycm_warning_symbol = 'W>' let g:ycm_clangd_binary_path = 'clangd' let g:ycm_gopls_binary_path = 'gopls' let g:ycm_filetype_whilelist = { \ "c": 1, \ "cpp": 1, \ "go": 1, \ "gdscript": 1, \ "lua": 1, \ "python": 1, \ "sh": 1, \ "vim": 1, \ "zsh": 1 \ } let g:ycm_filetype_blacklist = { \ 'tagbar': 1, \ 'leaderf': 1, \ 'ledger': 1, \ 'markdown': 1, \ 'org': 1, \ 'vimwiki': 1, \ } nnoremap gd :call PushTagStackOnCommand('YcmCompleter GoTo') nnoremap gy :call PushTagStackOnCommand('YcmCompleter GoToType') nnoremap gr :call PushTagStackOnCommand('YcmCompleter GoToReferences') nnoremap gi :call PushTagStackOnCommand('YcmCompleter GoToImplementation') nnoremap rn :YcmCompleter RefactorRename nmap fs (YCMFindSymbolInDocument) nmap fS (YCMFindSymbolInWorkspace) nmap K (YCMHover) autocmd BufWritePre *.rs,*.go call execute('YcmCompleter Format')