vim更改:x函数删除缓冲区而不是保存和退出

vim更改:x函数删除缓冲区而不是保存和退出

我想:x在vim gui-mode中设置,delete buffer因为我总是杀死整个gvim,这有点烦人。我知道我可以专门设置gui问题,if has("gui running")但不知道如何重新映射:x

提前致谢

ps。:也许标签/术语remap是错误的,但我不知道正确的术语,这就是谷歌没有提供任何帮助的原因。


胡说叔叔
浏览 561回答 2
2回答

慕慕森

我发现最安全的替代方法是使用表达式缩写:cnoreabbrev&nbsp;<expr>&nbsp;x&nbsp;getcmdtype()&nbsp;==&nbsp;":"&nbsp;&&&nbsp;getcmdline()&nbsp;==&nbsp;'x'&nbsp;?&nbsp;'bd'&nbsp;:&nbsp;'x'这将确保缩写只会扩大到bd时候:x使用,否则只是扩大到x。如需更多帮助::h&nbsp;map-<expr>:h&nbsp;getcmdtype():h&nbsp;getcmdline()经过进一步检查,似乎有一个插件正是由Hari Krishna Dara执行的,名为cmdalias.vim。它使用了上述技术的变体。

MMTTMM

这并不像看起来那么容易。:map将无法使用命令,:command只接受以大写字母开头的命令。但你可以使用:cabbrev:if&nbsp;has("gui_running") &nbsp;&nbsp;cabbrev&nbsp;x&nbsp;bdendif更新::cmap&nbsp;可实际使用::cmap x bd,但它不工作的权利:每次出现x在命令立即被替换bd。
打开App,查看更多内容
随时随地看视频慕课网APP