高亮显示的文本是我要在其中移动的数组。我必须先按g再按j才能向下移动一行。我的.vimrc是否有一些映射,我可以使用hjkl在屏幕行中移动而无需每次都按g。
谢谢你的帮助
马蒂亚斯
最佳答案
我使用以下片段来帮助进行所有形式的导航,包括诸如$到行尾之类的内容。
" mapping to make movements operate on 1 screen line in wrap mode
function! ScreenMovement(movement)
if &wrap
return "g" . a:movement
else
return a:movement
endif
endfunction
onoremap <silent> <expr> j ScreenMovement("j")
onoremap <silent> <expr> k ScreenMovement("k")
onoremap <silent> <expr> 0 ScreenMovement("0")
onoremap <silent> <expr> ^ ScreenMovement("^")
onoremap <silent> <expr> $ ScreenMovement("$")
nnoremap <silent> <expr> j ScreenMovement("j")
nnoremap <silent> <expr> k ScreenMovement("k")
nnoremap <silent> <expr> 0 ScreenMovement("0")
nnoremap <silent> <expr> ^ ScreenMovement("^")
nnoremap <silent> <expr> $ ScreenMovement("$")