====== Vim Keyboard Moving ======
* 현재 키보드 위치의 화면이동
* ''zz'' : 화면 가운데로
* ''zt'' : 화면 맨 위로
* ''zb'' : 화면 맨 아래로
* 내 커서 위치를 항상 가운데로 유지. 999값을 매우 큰 값으로 바꿔준다.
:let &scrolloff=999-&scrolloff
===== Vim Toggle Movement =====
[[http://ddrscott.github.io/blog/2016/vim-toggle-movement/|Vim Toggle Movement: I Just Want to Go Home - @_ddrscott_]]
function! ToggleMovement(firstOp, thenOp)
let pos = getpos('.')
execute "normal! " . a:firstOp
if pos == getpos('.')
execute "normal! " . a:thenOp
endif
endfunction
" The original carat 0 swap
nnoremap 0 :call ToggleMovement('^', '0')
" How about ; and ,
nnoremap ; :call ToggleMovement(';', ',')
nnoremap , :call ToggleMovement(',', ';')
" How about H and L
nnoremap H :call ToggleMovement('H', 'L')
nnoremap L :call ToggleMovement('L', 'H')
" How about G and gg
nnoremap G :call ToggleMovement('G', 'gg')
nnoremap gg :call ToggleMovement('gg', 'G')