无法使用 vim 编译和 运行 一个 c 程序

Cannot compile and run a c program using vim

map <F5> : !gcc % && ./%< <CR>

这应该映射 F5 键来编译我的 c 代码并使用与文件相同的名称而不扩展名来执行它。没问题,编译部分没有报错,但是要运行./%部分

我收到 '.' is not recognized as internal or external command 的命令行消息。

当我使用 map <F10> :w<CR> :!clear; make<CR> :!./%<<CR> 时也会发生同样的情况。我真的不知道这个 make 是如何工作的或者它是什么。我试用了一个插件 Asyncrun.

但我遇到了同样的问题。可能的原因是什么以及如何解决。

这是 MINGw 下 windows 的典型解决方案。 GCC 是编译器应用程序的名称。所以我的想法是调用 gcc 并为其提供要编译的文件的名称。名称表示文件的完整路径,包括文件名和扩展名。

然后我们可以执行a.out 文件或使用实际文件名不带扩展名重命名可执行文件。所以 gcc 有 -o 用于重命名文件。最后的工作是调用可执行文件。

:!gcc % :! gcc % -o %< :! %< 这是总命令。可以将所有这些命令映射到一个键上,也可以根据需要将它们分开。 :! 在 VIM 中打开命令行。 % 是具有确切文件路径的文件名。在 %< 中,< 只是减少了文件扩展名。

这是我放在我的 vimrc 文件中的内容。

map <F2> :! gcc % <CR>

map <F3> :! gcc % -o %< <CR>

map <F4> :! %< <CR>