9

我希望我的应用程序在我保存文件时自动更新。所以我使用 inotify (ubuntu) 来创建检测事件的观察者。

问题是 vim覆盖文件而不是更新它。所以我的观察者在第一次更新后丢失了。

我想知道,有没有办法设置 vim 所以它不使用交换文件并直接更新文件?

(我尝试:set noswapfile了该-n选项,即在不改变行为的情况下删除交换文件)

4

2 回答 2

13

你可以这样做:

:set backupcopy=yes
于 2012-05-08T22:30:26.057 回答
2

使用 Vim,您可以通过'backupcopy'设置来控制它;但是,我曾经采取了另一种方法并监视了目录,而不是文件本身:

inotifywait --quiet --monitor --event modify --format '%w%f' "$dir"

这需要在我的脚本中进行更多处理(检查修改后的文件是否与我的列表匹配),但也使我能够捕获新创建的文件。

于 2012-05-09T09:08:34.310 回答