我想:command
在退出插入模式时在 vim 中运行 a 。具体来说,我想:GoFmt
在退出插入模式时运行以格式化我的代码。目前它在我保存文件时运行,但有时我想在进行语法检查之前进行格式化(这在我保存文件时发生)。
我当前的解决方案是映射<esc>
到,<esc>:GoFmt<enter>
但这会破坏箭头键的行为,因为箭头键以转义序列开头。有更好的解决方案吗?
autocmd FileType go imap <esc> <esc>:GoFmt<enter>
答案1
首先,我强烈支持通配符建议去维姆网站...:)
但其次,肯定有更好的解决方案。您可以使用InsertLeave
自动命令。只需这样做:
autocommand InsertLeave go GoFmt
优点是这根本不需要任何映射,并且运行命令也更简单,因为GoFmt
已经是 ex 命令,所以您不需要:...<cr>
.