使用shell脚本杀死vim进程会留下.swp文件

时间:2015-04-16 08:02:38

标签: linux bash shell vim

我开发了一个可以杀死所有' vim'工作流程 xxx.log文件:

ps -ef|grep vim|grep xxx.log|awk '{print $2}'|xargs kill -9

但是,每个vim实例都会保留.swp(swap)文件。 如何在同一个脚本中删除交换文件,或者其他一些简短的解决方案而不搜索交换位置等?

3 个答案:

答案 0 :(得分:12)

-9删除kill;这会将TERM(inate)信号发送给Vim,允许它清理并删除交换文件(至少它在Ubuntu上为我做了)。

使用-9 / KILL,您无法为流程提供清理机会。这应仅用于绝对必要的情况(例如,当进程挂起或无限循环且不再对外部信号作出反应时)。

答案 1 :(得分:2)

由于交换文件包含您删除的名称,因此您也应该能够通过适当的操作找到它。

然而,杀死像vim这样的交互式编辑器听起来非常错误。你应该考虑不这样做。在哪种情况下是可取的?

答案 2 :(得分:1)

您可以添加

set noswapfile

到你的vimrc。这将导致首先不创建交换文件。