作者:郑谊099_448 | 2023-09-05 10:00
我喜欢vim和它给我的速度.但有时,我的手指太快了,我发现自己打字:WQ
而不是:wq
.(在德国的键盘,你必须按下Shift得到冒号:
.)然后Vim会抱怨说,WQ
是Not an editor command
.
有没有办法制作W
和Q
编辑命令?
1> WMR..:
尝试
:command WQ wq
:command Wq wq
:command W w
:command Q q
这样您就可以定义自己的命令.有关:help command
更多信息,请参阅
请注意,在.vimrc中,您需要省略前导冒号.它应该读取,例如:`命令Wq wq`
不要忘记将上面的内容添加到您的vimrc中,这样您就不必每次都这样做.
2> Kent Fredric..:
替代方法:
使用' 命令缩写 '
:ca WQ wq
"Command*abbreviations*",而不是"命令别名".
一个有用的方法来记住:完整的关键字是`cabbrev`.:)
+1这也允许以小写字母开头的别名(与`:command`相反).
这个解决方案将替换命令中的"WQ",而不仅仅是在开头,这对于"WQ"来说可能很少见,但对于更常见的类型字符串也是如此.因此,[此解决方案](http://stackoverflow.com/a/3879737/1519199)更好.
3> Zsolt Botyka..:
你可以使用
:cmap WQ wq
同样.我有
cmap h tab help
在我的.vimrc
意思是在新选项卡中打开帮助页面.
感谢Jim Stewart提示:
但是这里有一个比上面更好的解决方案(对于帮助映射,所以它只适用于你:h):
cnoreabbrev h getcmdtype() == ":" && getcmdline() == "h" ? "tab h" : "h"
-1:触及太多.例如,`:echo 3`将生成`:ectab helpo 3`.`:e sh.py`变为`:e stab help.py`.等等.
这是偏离主题的,但你可能想要像`cnoreabbrev
h getcmdtype()==":"&& getcmdline()=="h"?"tab h":"h"`用于帮助映射,因此它仅适用于`:h `.