我希望我的应用在保存文件时自动更新。所以我使用inotify(ubuntu)来创建检测事件的观察者。
问题是vim 覆盖文件而不是更新它。所以我的观察者在第一次更新后丢失了。
我想知道,有没有办法设置vim所以它不使用交换文件并直接更新文件?
(我尝试:set noswapfile
和-n
选项,删除交换文件而不改变行为)
答案 0 :(得分:8)
你可以这样做:
:set backupcopy=yes
答案 1 :(得分:2)
使用Vim,您可以通过'backupcopy'
设置进行控制;但是,我曾经采取过替代路线并监控目录,而不是文件本身:
inotifywait --quiet --monitor --event modify --format '%w%f' "$dir"
这需要我的脚本中更多的处理(检查修改的文件是否与我的列表匹配),但也使我能够捕获新创建的文件。