我正在使用watchdog监视OS X上的.less文件更改事件。如果我使用TextMate或Sublime Text更改.less文件的内容,则会捕获修改事件。但是,如果我使用vim编辑内容,则不会触发文件修改事件(但会捕获使用vim创建的文件的文件创建事件)。我已经看到了与FSEvents和kqueue相同的行为(两者我几乎都不知道)。
我想知道有人可以解释这种行为吗?
答案 0 :(得分:4)
在Watchdog's readme上有一个专门针对您描述的问题的部分:关于将监视程序与Vim等编辑器一起使用。建议您在set noswapfile
中使用~/.vimrc
。
答案 1 :(得分:3)
Vim通常会不创建一个临时文件,然后重命名它。这样就可以在编写文件时保留文件系统方面,例如链接(软链接和硬链接)。这在Vim文档的Writing部分中进行了简要讨论,并在'backupcopy'
选项文档中提供了更多信息。
您的文件更改事件可能仅限于更改目录条目。