[英]kill a shell created by vim when ctrl-C doesn't work
我正在vim中编写一些线程python代码。 当我运行我的测试时,用
:! py.test test_me.py
有时它们会挂起,不能用ctrl-C杀死。 所以我必须背景vim(实际上运行测试的shell)和pkill py.test
。 有没有更好的方法来杀死悬挂的测试套件?
我试过映射:map ,k:! 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把Vim的进入后台运行的同时py.test
因为Vim是的父进程py.test
。 因此,shell通过链然后将所有子项以及父项放入后台。
我建议你打开另一个终端窗口并在那里做所有家务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.