我想重新映射q
和q!
.这是我正在尝试的:
cnoremap q :call TabCloseLeft('q') cnoremap q! :call TabCloseLeft('q!')
这适当地重新映射:q
但不捕获:q!
.我已经阅读了各种帮助部分,但我显然忽略了一些东西.
我看到一些问题:
cnoremap
危险的例如/q
:quit
功能千万不能使用cnoremap
尝试和创建命令,请使用:command
.如果要覆盖命令,请使用聪明的cabbrev
表达式或插件.请参阅vim change:x函数以删除缓冲区而不是保存并退出
在vim中有很多方法可以退出缓冲区.有些人做的事略有不同.当vimmers学习更多命令时,他们会将它们集成到工作流程中.例如<c-w>c
,关闭分割/窗口并ZZ
更新当前缓冲区.如果沿着这条路走下去,你将会覆盖许多命令,否则你将无视有用的命令.
学会有效地使用缓冲区.在Vim中使用选项卡很棒,但它们不是唯一的方法,肯定会让你痛苦不堪.恕我直言,最好是减少这些行为并鼓励更好的习惯.