使用vim编写文件不会在OS X上触发文件更改事件

Joh*_*yes 11 python macos watchdog fsevents kqueue

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

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

Gre*_*ill 3

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

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

  • 我设置了以下内容:设置nobackup,设置noswapfile,设置nowritebackup;并且修改后的事件被解雇。 (3认同)
  • 仅供参考,这记录在您链接到的 github 上的自述文件中。 (2认同)