如何在 Vim 正常模式下交换键,而不仅仅是重新映射它们?

dav*_*gan 5 vim key-bindings

我使用 Dvorak,所以我的 .vimrc 中有以下内容:

no t j
no n k
no s l
no l n
no j t
no k s
Run Code Online (Sandbox Code Playgroud)

它将方向键映射回主行的右侧。

这通常工作得很好,除了在插件中。例如,我无法在 NERDTree 插件中使用向上和向下导航,因为它会产生其他效果。

有没有办法让我不只是简单地重新映射按键,而是告诉 Vim 在正常模式下考虑将按 t 转换为按 j,无论上下文或插件如何?

我似乎隐约记得有一个 vim 命令可以将一个键别名为另一个键,但我找不到它。

dav*_*gan 3

我找到了我要找的东西:

set langmap=tj,nk,sl,ln,jt,ks
Run Code Online (Sandbox Code Playgroud)