在许多文本编辑器中,down arrow当光标位于最后一行时按 会将光标移动到行尾。有没有办法在 vim 中做到这一点( fordown arrow或j)?
这与简单地按 不同$。
这应该做你想做的。
nnoremap <expr> j (line('.') == line('$')) ? '$' : 'j'
nnoremap <expr> <DOWN> (line('.') == line('$')) ? '$' : '<DOWN>'
Run Code Online (Sandbox Code Playgroud)
我们检查当前行是否是最后一行。如果是,我们映射j到,$如果不是,我们映射j到j。(同样的逻辑<DOWN>)