From 4ebc8f3788fb23ba3922d8213a43aacb664c5e58 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Mon, 30 Dec 2019 16:29:11 +0530 Subject: [PATCH] nvim: init.vim: Use vim-unimpaired & improve bindings unimpaired provides some helpful bindings so use that. Remove redundant bindings like the ones for quickfix & location list due to use of unimpaired. It also provides consistent bindings across the board. While at it, reduce the use of leader key. The idea behind using leader key everywhere was taken since we migrated from spacemacs, However, for non-conflicting bindings it's better to have a hit as few keys as possible, so remove leader from few of the earlier bindings. To see list of all mappings, use '9verbose nmap '. Signed-off-by: Sanchayan Maity --- nvim/init.vim | 101 +++++++++++++++++++++++--------------------------- 1 file changed, 46 insertions(+), 55 deletions(-) diff --git a/nvim/init.vim b/nvim/init.vim index ee2ce53..0ac6af7 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -89,6 +89,7 @@ Plug 'tpope/vim-surround' Plug 'tpope/vim-repeat' Plug 'tpope/vim-eunuch' Plug 'tpope/vim-sleuth' +Plug 'tpope/vim-unimpaired' Plug 'editorconfig/editorconfig-vim' Plug 'igankevich/mesonic' Plug 'stefandtw/quickfix-reflector.vim' @@ -206,23 +207,23 @@ nnoremap ; : nnoremap Q " For Fuzzy -nnoremap vf :GFiles -nnoremap v? :GFiles? -nnoremap vF :Files -nnoremap vb :Buffers -nnoremap vL :Lines -nnoremap vl :BLines -nnoremap vt :BTags -nnoremap vT :Tags -nnoremap vc :BCommits -nnoremap vC :Commits -nnoremap vch :History: -nnoremap vsh :History/ -nnoremap vm :Commands -nnoremap vo :Locate -nnoremap vk :Maps -nnoremap v/ :Rg -nnoremap * :exe ':Rg ' . expand('') +nnoremap ff :GFiles +nnoremap f? :GFiles? +nnoremap fF :Files +nnoremap fb :Buffers +nnoremap fL :Lines +nnoremap fl :BLines +nnoremap ft :BTags +nnoremap fT :Tags +nnoremap fc :BCommits +nnoremap fC :Commits +nnoremap fch :History: +nnoremap fsh :History/ +nnoremap fm :Commands +nnoremap fo :Locate +nnoremap fk :Maps +nnoremap f/ :Rg +nnoremap * :exe ':Rg ' . expand('') " Quick buffer switching nnoremap b :ls:b " Undo tree @@ -236,19 +237,15 @@ nnoremap sh :sp nnoremap sv :vsp " Quit nnoremap x :x +nnoremap q :q nnoremap Q :qa " Terminal nnoremap te :vsp :terminal nnoremap tc :SlimeConfig xmap ts SlimeRegionSend nmap ts SlimeParagraphSend -" Tab navigation shortcuts -nnoremap tn :bn -nnoremap tp :bp -nnoremap :bprevious -nnoremap :bnext " Reload opened vim config file -nnoremap vr :so % +nnoremap r :so % " For git nnoremap gm :GitMessenger nnoremap gl :0Glog @@ -269,38 +266,32 @@ nnoremap gf :exe ':Ggrep ' . expand('') nnoremap gF :Ggrep nnoremap gg :GGrep " For gitgutter -nnoremap ghn :GitGutterNextHunk -nnoremap ghp :GitGutterPrevHunk -nnoremap ghs :GitGutterStageHunk -nnoremap ghu :GitGutterUndoHunk -nnoremap ghr :GitGutterPreviewHunk -nnoremap gqf :GitGutterQuickFix -nnoremap ggf :GitGutterFold +nnoremap un :GitGutterNextHunk +nnoremap up :GitGutterPrevHunk +nnoremap us :GitGutterStageHunk +nnoremap ud :GitGutterUndoHunk +nnoremap ur :GitGutterPreviewHunk +nnoremap uq :GitGutterQuickFix +nnoremap uf :GitGutterFold " For Neomake/Neoformat -nnoremap nm :Neomake -nnoremap nc :NeomakeClean -nnoremap ns :NeomakeSh -nnoremap njl :NeomakeListJobs -nnoremap nja :NeomakeCancelJobs -nnoremap njc :NeomakeCancelJob -nnoremap nf :Neoformat +nnoremap nm :Neomake +nnoremap nc :NeomakeClean +nnoremap ns :NeomakeSh +nnoremap njl :NeomakeListJobs +nnoremap nja :NeomakeCancelJobs +nnoremap njc :NeomakeCancelJob +nnoremap nf :Neoformat " For workspace nnoremap sw :ToggleWorkspace - " Quickfix & Location list mappings -nnoremap fn :cnext -nnoremap fp :cprevious -nnoremap fo :copen -nnoremap fc :cclose -nnoremap fs :vimgrep -nnoremap ft :call ToggleQuickfixList() - -nnoremap ffn :lnext -nnoremap ffp :lprevious -nnoremap ffo :lopen -nnoremap ffc :lclose -nnoremap ffs :lvimgrep -nnoremap fft :call ToggleLocationList() +nnoremap qo :copen +nnoremap qc :cclose +nnoremap qs :vimgrep +nnoremap qt :call ToggleQuickfixList() +nnoremap Lo :lopen +nnoremap Lc :lclose +nnoremap Ls :lvimgrep +nnoremap Lt :call ToggleLocationList() " Key Bindings to help with terminal mode :tnoremap jk @@ -362,9 +353,9 @@ command! -bang -nargs=* GGrep " --------------------------- Autocmd groups --------------------------------- augroup vimplug_maps au! - au FileType vim nmap pg :PlugUpgrade - au FileType vim nmap pd :PlugUpdate - au FileType vim nmap pc :PlugClean + au FileType vim nmap pg :PlugUpgrade + au FileType vim nmap pd :PlugUpdate + au FileType vim nmap pc :PlugClean augroup END augroup haskell_maps @@ -427,7 +418,7 @@ augroup rust_maps au FileType rust nmap gd DeopleteRustGoToDefinitionDefault au FileType rust nmap K DeopleteRustShowDocumentation au FileType rust nmap gv DeopleteRustGoToDefinitionVSplit - au FileType rust nmap gh DeopleteRustGoToDefinitionSplit + au FileType rust nmap g- DeopleteRustGoToDefinitionSplit au FileType rust nmap gt DeopleteRustGoToDefinitionTab augroup END