我开发了一个可以杀死所有' vim'工作流程 xxx.log文件:
ps -ef|grep vim|grep xxx.log|awk '{print $2}'|xargs kill -9
但是,每个vim实例都会保留.swp(swap)文件。 如何在同一个脚本中删除交换文件,或者其他一些简短的解决方案而不搜索交换位置等?
答案 0 :(得分:12)
从-9
删除kill
;这会将TERM
(inate)信号发送给Vim,允许它清理并删除交换文件(至少它在Ubuntu上为我做了)。
使用-9
/ KILL
,您无法为流程提供清理机会。这应仅用于绝对必要的情况(例如,当进程挂起或无限循环且不再对外部信号作出反应时)。
答案 1 :(得分:2)
由于交换文件包含您删除的名称,因此您也应该能够通过适当的操作找到它。
然而,杀死像vim
这样的交互式编辑器听起来非常错误。你应该考虑不这样做。在哪种情况下是可取的?
答案 2 :(得分:1)
您可以添加
set noswapfile
到你的vimrc。这将导致首先不创建交换文件。