我正在 vim 中编写一些线程化的 Python 代码。当我运行我的测试时,用
:! py.test test_me.py
有时它们会挂起,无法用 ctrl-C 杀死。所以我必须在后台运行 vim(实际上是运行测试的 shell)和 pkill py.test
.有没有更好的方法来杀死挂起的测试套件?
我试过映射:map ,k:! pkill py.test
但这不起作用,因为在测试运行时我的输入将进入运行测试的 shell,而不是 vim。
编辑:
我正在寻找一种方法来终止比 ctrl-Z
更快的测试过程, pkill py.test
, fg
<cr>
返回编辑。理想情况下只是一个热键。
最佳答案
当您在 Vim 中执行 :!
时,您有效地将 Vim 置于后台,并且正在运行的进程(在本例中为 py.test
)获得了焦点。这意味着你不能告诉 Vim 为你终止进程,因为 Vim 没有得到你的击键。
Ctrl-Z 在运行 py.test
时将 Vim 置于后台,因为 Vim 是 py.test< 的父进程
。因此 shell 通过链,然后将所有子项以及父项置于后台。
我建议您打开另一个终端窗口并在那里完成所有的家务活。
关于python - 当 ctrl-C 不起作用时,终止由 vim 创建的 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31375628/