从 vim 编译代码

从 vim 编译代码

我是新手vim,并且希望能够从内部编译代码,vim而无需运行新终端并调用编译器。

我该怎么做呢?请注意,这个要求不仅限于gcc,我有时还需要调用python我正在处理的当前脚本,所以你明白了......

答案1

写一个Makefile,然后你可以简单地:

:make

从 vim 内部。如果编译失败:

:copen

会向您显示警告和错误。选择它们将带您到适当的文件和行。

答案2

在vim中,当前文件可以被称为%,所以

:!python %

参见:he cmdline-special(或这里

答案3

如果您出于某种原因不喜欢 makefile,您可以使用 :! 调用任何命令。

例如,您可以使用“:!javac *.java && java Foo”来编译并运行一个简单的java程序。您还可以通过这种方式调用其他构建系统(scons、cmake...)。

答案4

Vim 可以使用 gnu make 对当前文件进行编译 - 即使该文件没有 Makefile(有关更多详细信息,请参阅这里):

:make %:r

这样 vim 就可以让你访问快速解决来自编译器的错误反馈 ( :help quickfix) 列表 -:cn下一个错误、:cp上一个错误、:cw新窗口列出错误。

如果你还没有 gnu make 那么你可以设置制作程序变量(如果编译 C++,则更改为 g++):

:se makeprg=gcc\ -o\ %<\ %

然后使用vim make命令编译当前文件并得到一个快速解决vim 中的错误列表:

:make

编辑:如果您还想从 vim 中运行编译后的可执行文件,您可以执行以下操作(“!”执行,“%:r”是不带后缀的文件名):

:!./%:r

相关内容