如何在Vim正常模式下交换键,而不仅仅是重新映射键?
我使用Dvorak,因此我的.vimrc中有以下内容:如何在Vim正常模式下交换键,而不仅仅是重新映射键?,vim,key-bindings,Vim,Key Bindings,我使用Dvorak,因此我的.vimrc中有以下内容: no t j no n k no s l no l n no j t no k s 它将方向键映射回主行的右侧 这通常工作得很好,除了在插件中。例如,我不能在NERDTree插件中使用向上和向下导航,因为它会使t变成其他东西 有没有一种方法让我,而不是简单地重新映射键,告诉VIM考虑在正常模式下按下T来转换成J的按压,不管上下文或插件是什么? 我似乎模模糊糊地记得一个vim命令将一个键别名为另一个键,但我找不到它。简单地了解一下这些键的D
no t j
no n k
no s l
no l n
no j t
no k s
它将方向键映射回主行的右侧
这通常工作得很好,除了在插件中。例如,我不能在NERDTree插件中使用向上和向下导航,因为它会使t变成其他东西
有没有一种方法让我,而不是简单地重新映射键,告诉VIM考虑在正常模式下按下T来转换成J的按压,不管上下文或插件是什么?
我似乎模模糊糊地记得一个vim命令将一个键别名为另一个键,但我找不到它。简单地了解一下这些键的Dvorak位置可能是值得的。hjkl移动,但(imho)不会以妨碍其有效使用的方式移动。h和l是你右手的索引和小指,j和k是中间的,索引在你左手
重新映射您的大脑需要一段时间,但大部分Vi键盘布局都是助记的,因此比可能的要容易(例如,使用emacs,它相当于对Dvorak怀有敌意的IMHO)。我找到了我想要的:
set langmap=tj,nk,sl,ln,jt,ks
这里讨论了一些很好的警告和注释:您是否已取消映射“t”?应该有一个
jt
而不是一个tj
s吗?嘿,dvcolgan,对于涉及
的地图,例如,如果按ctrl+t
,它的行为是否与
相同?那对我不起作用。你遇到过这个问题吗?