vim - 如何在保存文件后自动运行命令

标签 vim

我希望 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/

相关文章:

vim - 如何使 VIM 成为成熟的 IDE

git - 如何使用 vim 作为寻呼机设置彩色 git diff

vim - Vim 中的微型概述

linux - vim imap 自动关闭引号的麻烦

vim - 无论文件扩展名如何,都启用 Vim 语法高亮

vim - 在 Vim 中打开文件而不显示在缓冲区列表中

vim - 手动和有条件地为 Vim 加载插件

Vim 不显示少于 3 次替换的消息

vim - 如何计算屏幕上显示的 &statusline 的宽度?

c++ - 在 Vim 中加载 google.vim 缩进文件