我按下 F5 键来制作:
map <F5> :make clean && make <cr>
在我执行 make 之后,它总是用我之前打开的文件夹中的另一个文件替换当前文件。例如,我正在编辑part1.c
并执行 make,然后它在part2.c
从 make 返回后用另一个文件替换当前文件。不知道为什么会发生这种情况。
答案1
您是否想使用 vim 的:make
命令(它基本上是外部make
程序的包装器)?如果您想make
直接使用外部程序,请使用!make clean && make
。
下面:help make
,它说
...
7. If [!] is not given the first error is jumped to.
所以我猜测你有一个错误part2.c
。
如果你偶然发现了 vim 的内置:make
命令,那么你应该考虑了解它。
:help :make
:help quickfix
答案2
内置:make
命令执行配置的'makeprg'
(默认为make
,外部程序),并跳转到第一个错误。为了避免后者,!
在命令中添加::make!
。