在不退出VIM的情况下中断当前程序

时间:2016-02-06 00:40:47

标签: shell vim

使用VIM时,我通常喜欢使用bang in命令模式运行程序。 也就是说,使用

:!<external shell command>

测试代码而不退出vim或alt-tabbing到另一个打开的shell。例如,在编写Java代码时,我可能会执行类似

的操作
:!java Main

或者在C中,也许

:!cls & gcc -g -o main Program.c File.c & main

这很好用。 VIM窗口变成了一个shell,我的程序运行,然后在退出时我回到VIM。

问题是当我的程序遇到无限循环时。我对显示标准输出的终端感到困惑,然后我无法回到VIM。 Control-C退出一切,然后我需要重新打开VIM并重新打开我的所有文件,这是一个很大的混乱(特别是如果我没有保存的东西!)。

tl; dr有没有办法在VIM中停止内部运行外部定义的shell命令?

2 个答案:

答案 0 :(得分:2)

就我而言,Ctrl-c效果很好。

我在ubuntu 14.04上vim 7.4

答案 1 :(得分:-1)

Control-z代替Control-c