交换Vim中两个字母的正常模式映射

交换Vim中两个字母的正常模式映射,vim,keyboard-shortcuts,Vim,Keyboard Shortcuts,我使用Turkish-F键盘布局,其中w键远离主行。为了防止右小指出现腕管,我想交换e和w的正常模式映射 我可以使用以下映射来完成此操作: nnoremap w e nnoremap e w 但是当它们与其他映射(如diw或die组合使用时,这不会互换e和w) 如何将涉及e的所有映射与w交换,反之亦然。映射后 nnoremap w e nnoremap e w 如果查看:map的输出,您可以看到 e * w w * e 像iw,aw这样的运动将不考虑此映射,

我使用Turkish-F键盘布局,其中w键远离主行。为了防止右小指出现腕管,我想交换
e
w
的正常模式映射

我可以使用以下映射来完成此操作:

nnoremap w e
nnoremap e w
但是当它们与其他映射(如
diw
die
组合使用时,这不会互换
e
w

如何将涉及
e
的所有映射与
w
交换,反之亦然。

映射后

nnoremap w e
nnoremap e w
如果查看
:map
的输出,您可以看到

e         * w
w         * e
iw
aw
这样的运动将不考虑此映射,因为它们是完全不同的运动(文本对象)

一种解决方法是添加额外的映射,如

onoremap ie iw
onoremap ae aw
还要注意的是,像
c
d
y
这样的运算符会将您带到,因此映射后
onoremap

nnoremap w e
nnoremap e w
如果查看
:map
的输出,您可以看到

e         * w
w         * e
iw
aw
这样的运动将不考虑此映射,因为它们是完全不同的运动(文本对象)

一种解决方法是添加额外的映射,如

onoremap ie iw
onoremap ae aw

还要注意的是,像
c
d
y
这样的运算符会将您带到,因此
onoremap

例如
d2e
怎么样。我尝试了以下操作,但映射不正确:
nnoremap de dw
nnoremap dw de
如果您有
nnoremap w e
nnoremap e w
d2e
应该可以工作。我的解决方案是为其他文本对象添加额外的映射。例如
d2e
。我尝试了以下操作,但映射不正确:
nnoremap de dw
nnoremap dw de
如果您有
nnoremap w e
nnoremap e w
d2e
应该可以工作。我的解决方案是为其他文本对象添加额外的映射。