我希望我的應用在保存文件時自動更新。所以我使用inotify(ubuntu)來創建檢測事件的觀察者。讓vim修改文件而不是移動它的新版本?
問題是vim 覆蓋該文件,而不是更新它。所以我的觀察者在第一次更新後就會丟失。
我想知道,有沒有辦法設置vim,以便它不使用交換文件並直接更新文件?
(我試過:set noswapfile
和-n
選項,刪除交換文件,無需改變行爲)
我希望我的應用在保存文件時自動更新。所以我使用inotify(ubuntu)來創建檢測事件的觀察者。讓vim修改文件而不是移動它的新版本?
問題是vim 覆蓋該文件,而不是更新它。所以我的觀察者在第一次更新後就會丟失。
我想知道,有沒有辦法設置vim,以便它不使用交換文件並直接更新文件?
(我試過:set noswapfile
和-n
選項,刪除交換文件,無需改變行爲)
你可以這樣做:
:set backupcopy=yes
Vim裏,你可以通過'backupcopy'
設置對其進行控制;然而,有一次我的備選路由和監控的目錄,而不是文件本身:
inotifywait --quiet --monitor --event modify --format '%w%f' "$dir"
這需要一些處理我的腳本(檢查是否修改後的文件相匹配我的列表),也使我能夠捕捉新創建的文件也是如此。
是的,你是對的,我需要用我的代碼更新... – Simon
謝謝你,我已經觸發了修改事件。 – Simon
這對OSX 10.11.2(El Capitan)不起作用,在保存文件時,我仍然在'grunt-contrib-watch'上得到兩個更改事件 – ekkis
這適用於freebsd – Farsheed