11

我正在使用看门狗来监视 OS X 上的 .less 文件更改事件。如果我使用 TextMate 或 Sublime Text 更改 .less 文件的内容,则会捕获修改事件。但是,如果我使用 vim 编辑内容,则不会触发文件修改事件(但会捕获使用 vim 创建的文件的文件创建事件)。我已经看到了 FSEvents 和 kqueue 的相同行为(我对这两者的了解几乎为零)。

我想知道有人可以解释这种行为吗?

4

2 回答 2

4

Watchdog 的自述文件中有一个部分专门针对您描述的问题:关于在 Vim 等编辑器中使用 watchdog。建议set noswapfile在您的~/.vimrc.

于 2012-02-23T02:01:07.757 回答
3

Vim 通常不会创建一个临时文件然后重命名它。这样可以在写入文件时保留文件系统方面,例如链接(软链接和硬链接)。Vim 文档的编写部分对此进行了简要讨论,'backupcopy'选项文档中提供了更多信息。

您的文件更改事件可能仅限于更改目录条目

于 2011-09-29T01:48:50.713 回答