]> git.rmz.io Git - dotfiles.git/commitdiff
vim: only set ycm bindings if ycm is loaded
authorSamir Benmendil <me@rmz.io>
Tue, 2 May 2023 10:19:44 +0000 (11:19 +0100)
committerSamir Benmendil <me@rmz.io>
Sun, 17 Dec 2023 17:23:07 +0000 (17:23 +0000)
vim/ftplugin/c.vim
vim/ftplugin/python.vim

index 0dca3bc9eee7563f45af60bd03141e62eaf6f8fb..a2e9e7156902ff108404aaa6cbddf94ec0dce5a5 100644 (file)
@@ -9,29 +9,38 @@ augroup fswitch
     au BufEnter *.c        let b:fswitchlocs = 'reg:|source|include/**|'
 augroup END
 
-" Disable ale as we use ycm
-let b:ale_enabled = 0
-
-nnoremap <buffer> gd :YcmCompleter GoTo<CR>
-nnoremap <buffer> <C-W>d :vs<CR>:YcmCompleter GoTo<CR>
-nnoremap <buffer> gD :YcmCompleter GoToReferences<CR>
-
-nnoremap <buffer> <leader>fi :YcmCompleter FixIt<CR>
-nnoremap <buffer> <leader>fr :YcmCompleter RefactorRename<space>
-
-" format with =
-call operator#user#define_ex_command('ycmcompleter-format', 'YcmCompleter Format')
-map <buffer> = <Plug>(operator-ycmcompleter-format)
-vnoremap <buffer> = :YcmCompleter Format<CR>
-" restore = mapping to g=
-nnoremap <buffer>g= =
-vnoremap <buffer>g= =
-
-" hover popup
-let g:ycm_auto_hover = ''
-let b:ycm_hover = { 'command': 'GetDoc', 'syntax': &filetype }
-nmap <buffer> gh <plug>(YCMHover)
-nmap <buffer> gH :YcmCompleter GetDoc<CR>
+if exists("g:loaded_youcompleteme")
+    " Disable ale as we use ycm
+    let b:ale_enabled = 0
+
+    nnoremap <buffer> gd :YcmCompleter GoTo<CR>
+    nnoremap <buffer> <C-W>d :vs<CR>:YcmCompleter GoTo<CR>
+    nnoremap <buffer> gD :YcmCompleter GoToReferences<CR>
+
+    " replaced with <leader>ca (code action) in neovim
+    nnoremap <buffer> <leader>fi :YcmCompleter FixIt<CR>
+    " replaced with <leader>cr (code rename) in neovim
+    nnoremap <buffer> <leader>fr :YcmCompleter RefactorRename<space>
+
+    " format with =
+    call operator#user#define_ex_command('ycmcompleter-format', 'YcmCompleter Format')
+    map <buffer> = <Plug>(operator-ycmcompleter-format)
+    vnoremap <buffer> = :YcmCompleter Format<CR>
+    " restore = mapping to g=
+    nnoremap <buffer>g= =
+    vnoremap <buffer>g= =
+
+    " hover popup
+    let g:ycm_auto_hover = ''
+    let b:ycm_hover = { 'command': 'GetDoc', 'syntax': &filetype }
+    nmap <buffer> gh <plug>(YCMHover)
+    nmap <buffer> gH :YcmCompleter GetDoc<CR>
+else
+    " I'm way to used to using = to format than to switch to gq
+    nnoremap <buffer> =  gq
+    nnoremap <buffer> == gqq
+    vnoremap <buffer> =  gq
+endif
 
 let b:tcomment_options = {'whitespace': 'no'}
 
index c64e31f17f481d1c61dae8f268a797e48a2060db..83d8895bb6d418a12d2c87e4036377209c766d41 100644 (file)
@@ -1,5 +1,7 @@
 setlocal foldlevelstart=1  " at least show content of classes
 
-nnoremap <buffer> gd :YcmCompleter GoTo<CR>
-nnoremap <buffer> <C-W>d :vs<CR>:YcmCompleter GoTo<CR>
-nnoremap <buffer> gD :YcmCompleter GoToReferences<CR>
+if exists("g:loaded_youcompleteme")
+    nnoremap <buffer> gd :YcmCompleter GoTo<CR>
+    nnoremap <buffer> <C-W>d :vs<CR>:YcmCompleter GoTo<CR>
+    nnoremap <buffer> gD :YcmCompleter GoToReferences<CR>
+endif