我想重新映射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中使用选项卡很棒,但它们不是唯一的方法,肯定会让你痛苦不堪.恕我直言,最好是减少这些行为并鼓励更好的习惯.