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