如何编译在 Vi 或 Vim 中编辑过的 C 程序?

Mad*_*bua 1 vim

我正在尝试从 vim 和 vi 编译和运行 ac 项目

#include<stdio.h>

int main(void)
{
 printf("Hello! This is a test prgoram.\n");
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

我得到这个输出

madona@madona-Java ~ $ vi demo.c

[No write since last change]
make: *** No targets specified and no makefile found.  Stop.

Press ENTER or type command to continue
[No write since last change]
gcc: error: demo.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.

shell returned 4
Run Code Online (Sandbox Code Playgroud)

使用这个之后:!gcc demo.c。我究竟做错了什么?

当我尝试运行时,我也遇到了这个问题:

gcc -o demo demo.c
gcc: error: demo.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Run Code Online (Sandbox Code Playgroud)

Jos*_* R. 11

只因为你跑了

vi demo.c
Run Code Online (Sandbox Code Playgroud)

并不意味着demo.c创建了文件。直到您第一次将缓冲区写入磁盘时才会创建它。

编译前只需将缓冲区写入磁盘:

:w
Run Code Online (Sandbox Code Playgroud)

[No write since last change]您看到的消息证实了这一点。此消息表示缓冲区已更改(因为您创建了名为 的缓冲区demo.c)但在修改后未写入磁盘。