重新映射'wq'以保存和关闭缓冲区而不是保存并退出

col*_*ale 9 vim macvim

Vim新手在这里.

当我':wq'我希望它保存并删除缓冲区而不是保存和退出.同样点击':q'会执行':bd'.

有什么建议?谢谢!

ib.*_*ib. 12

Vim允许在包括命令行模式在内的所有模式中为命令添加键映射,因此您可以定义这些映射(在您的中.vimrc):

:cnoreabbrev wq w<bar>bd
:cnoreabbrev q bd
Run Code Online (Sandbox Code Playgroud)

这些命令告诉Vim,wq必须将命令行中的压入扩展为w|bd,同样地,将其扩展qbd.有关:help key-mapping详细信息,请参阅

  • -1.请不要使用`cnoremap`!这将在任何命令中扩展q.例如`:set cscopequickfix`将扩展为`:set cscopebduickfix`.请改用`:cnoreabbrev`!请参阅帮助. (16认同)
  • 莎拉,没有.仍然`cnoreabbrev`更好,因为如果你想把你的文件写成`以wq结尾的任何东西',除非文件名正好是wq,否则缩写不会触发. (4认同)
  • 我完全同意,但它仍然必须是w <bar> bd. (2认同)