我希望 vim 在保存 .cpp
文件进行编译后运行 g++。我怎样才能做到这一点?我知道如何将外部命令映射到键,但我想知道如何将一个命令映射到另一个命令。
最佳答案
您使用 :autocmd
为了那个原因。经过:write
, BufWritePost
事件被触发。参见 :h autocmd-events
对于可用的内容。
:autocmd BufWritePost <buffer> !g++ %
%
代表当前文件(即写入)。
更好的选择可能是调用 :make
反而;这也可以处理多个文件编译。
要为所有 C++ 文件安装它,您只需替换 <buffer>
与 *.cpp
, 但这样你就重复了 Vim 内置的文件类型检测。最好把上面的:autocmd
进入例如~/.vim/ftplugin/cpp_autocompile.vim
. (这要求您拥有 :filetype plugin on
。或者,您可以直接在 :autocmd FileType cpp autocmd BufWritePost...
中定义一个 ~/.vimrc
,但是一旦您进行了很多自定义,这往往会变得笨拙。
关于vim - 如何在保存文件后自动运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20419121/