从 vim 编译 C++ 代码

Compiling C++ code from vim

我的 .vimrc 文件看起来像这样:

set exrc
set secure
set number
set tabstop=2
set shiftwidth=2
set expandtab
set autoindent
set background=dark
set vb t_vb=
set colorcolumn=110
highlight Pmenu ctermfg=2 ctermbg=0 guifg=#ffffff guibg=#0000ff
highlight ColorColumn ctermbg=darkgray
autocmd CompleteDone * pclose
compiler g++

但是,当我打开一些 C++ 文件时,我看到这样的消息:

E666: compiler not supported: g++

有什么问题吗?

:compiler命令选择一个编译器插件;有一个名为 gcc,但 none 名为 g++。这就是你得到的E666

您可以通过键入 :compiler 后跟 <C-D>(列出所有)或 <Tab>(完成)来获取所有已安装编译器插件的列表。


请注意,C/C++ 源代码的编译通常是通过 make(或等效的构建工具)完成的;一个简单的 g++ 调用只是为了将单个 C/C++ 源代码文件转换为目标文件;你在那里缺少很多基础设施。

还有 SingleCompile plugin(它支持 g++,还有很多)。


编写一个新的编译器插件不是什么大事;你基本上只需要定义 makeprgerrorformat,见 :help write-compiler-plugin.