如何在 vim 中切换 j 和 k 键?

如何在 vim 中切换 j 和 k 键?

有没有办法将 k 键映射到“向下”并将 j 键映射到“向上”?这对我来说似乎更直观,因为如果光标位于行末,右箭头也会将光标向下移动。

为什么决定采用这种映射?为什么左/右移动不会像大多数其他编辑器一样带您到下一行?

答案1

你可以这样做,但这是一个坏主意™!这是让你以后遭受痛苦。

但是,如果您坚持要这么做,请输入以下两行~/.vimrc

:nnoremap j k
:nnoremap k j

至于左/右移动换行:

:set whichwrap+=h,l

参见:help 'whichwrap'(带有单引号),并注意帮助指出不推荐这样做。

答案2

Bill Joy 在 ADM-3A 键盘上编写了 Vi,如下所示:

ADM-3A

它没有自己的专用箭头键,但有与键盘上的字母关联的箭头。这也是 Unix 的一个特点,或者曾经是。

答案3

在此处添加这些内容是为了修复原始答案中缺少的细节。如果仅重新映射 k j,窗口导航就会中断。

完整的重新映射是:

noremap k j|noremap <C-w>k <C-w>j|noremap <C-w><C-k> <C-w>j
noremap j k|noremap <C-w>j <C-w>k|noremap <C-w><C-j> <C-w>k

关于插件兼容性...我已经使用这个几个月了,我的设置中有很多插件。如果你碰巧发现任何有冲突的插件,只需修复插件键映射,但在安装了大约 20 个不同的插件后,没有一个给我带来这个配置的任何问题。

相关内容