获取vim修改文件而不是在其上移动新版本?

时间:2012-05-08 22:14:21

标签: vim

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

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

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

(我尝试:set noswapfile-n选项,删除交换文件而不改变行为)

2 个答案:

答案 0 :(得分:8)

你可以这样做:

:set backupcopy=yes

答案 1 :(得分:2)

使用Vim,您可以通过'backupcopy'设置进​​行控制;但是,我曾经采取过替代路线并监控目录,而不是文件本身:

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

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