[英]Killing vim processes with a shell script leaves .swp files
我開發了一個腳本來殺死處理xxx.log文件的所有'vim'進程:
ps -ef|grep vim|grep xxx.log|awk '{print $2}'|xargs kill -9
但是,每個vim實例都會保留.swp(swap)文件。 如何在同一個腳本中刪除交換文件,或者其他一些簡短的解決方案,而無需搜索交換位置等?
將-9
從kill
刪除; 這會將TERM
(inate)信號發送給Vim,允許它清理並刪除交換文件(至少它在Ubuntu上為我做了)。
通過使用-9
/ KILL
,您不會給該過程提供清理的機會。 這應僅用於絕對必要的情況(例如,當過程掛起或無限循環並且不再對外部信號作出反應時)。
由於交換文件包含您刪除的名稱,因此您也應該能夠通過適當的操作找到它。
然而,殺死像vim
這樣的交互式編輯器在很多層面上聽起來都是錯誤的。 你應該考慮不這樣做。 在哪種情況下是可取的?
你可以加
set noswapfile
到你的vimrc。 這將導致首先不創建交換文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.