Vim:当光标位于文件的最后一行时,使用“向下箭头”或“j”将光标移动到行尾

use*_*123 3 vim

在许多文本编辑器中,down arrow当光标位于最后一行时按 会将光标移动到行尾。有没有办法在 vim 中做到这一点( fordown arrowj)?

这与简单地按 不同$

FDi*_*off 5

这应该做你想做的。

nnoremap <expr> j (line('.') == line('$')) ? '$' : 'j'
nnoremap <expr> <DOWN> (line('.') == line('$')) ? '$' : '<DOWN>'
Run Code Online (Sandbox Code Playgroud)

我们检查当前行是否是最后一行。如果是,我们映射j到,$如果不是,我们映射jj。(同样的逻辑<DOWN>