changeset 289:8b6ca7e40f37

Making jumping around in Vim nicer.
author Ludovic Chabant <ludovic@chabant.com>
date Fri, 20 Feb 2015 11:49:18 -0800
parents 25b672f0f6bd
children 65a5097587d4
files vim/vimrc
diffstat 1 files changed, 17 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/vim/vimrc	Fri Feb 20 11:46:41 2015 -0800
+++ b/vim/vimrc	Fri Feb 20 11:49:18 2015 -0800
@@ -455,6 +455,20 @@
 nnoremap / /\v
 vnoremap / /\v
 
+" Next/previous quickfix and location messages.
+nnoremap ]q :cnext<cr>zvzz
+nnoremap [q :cprevious<cr>zvzz
+nnoremap ]l :lnext<cr>zvzz
+nnoremap [l :lprevious<cr>zvzz
+
+" Same with change list.
+nnoremap ]] g,zz
+nnoremap [[ g;zz
+
+" Same with diff list.
+nnoremap ]c ]czvzz
+nnoremap [c [czvzz
+
 " Quick search and replace.
 function! s:VSetSearch()
   let temp = @@
@@ -468,7 +482,7 @@
 " Jump to tags by keeping things better in view. Option for jumping to a tag
 " in a split window where everything is folded except what you need to see.
 function! JumpToTag()
-    execute "normal! \<c-]>zz"
+    execute "normal! \<c-]>zvzz"
 endfunction
 function! JumpToTagInSplit()
     execute "normal! \<c-w>v\<c-]>zMzvzz"
@@ -477,12 +491,8 @@
 nnoremap <c-\> :silent! call JumpToTagInSplit()<cr>
 
 " Keep search matches in the middle of the window.
-nnoremap n nzzzv
-nnoremap N Nzzzv
-
-" Same when jumping around
-nnoremap g; g;zz
-nnoremap g, g,zz
+nnoremap n nzvzz
+nnoremap N Nzvzz
 
 " }}}