Запись файла с помощью vim не запускает событие изменения файла в OS X - PullRequest
11 голосов
/ 29 сентября 2011

Я использую watchdog для отслеживания событий изменения файла .less в OS X. Если я изменяю содержимое файла .less с помощью TextMate или Sublime Text, событие модификации фиксируется. Однако, если я редактирую содержимое с помощью vim, событие модификации файла не запускается (но события создания файла для файлов, созданных с помощью vim, регистрируются). Я видел такое же поведение с FSEvents и kqueue (оба из которых я практически не знаю).

Интересно, кто-нибудь может объяснить это поведение?

Ответы [ 2 ]

4 голосов
/ 23 февраля 2012

В Readme Watchdog есть раздел, специально посвященный описываемой вами проблеме: Об использовании Watchdog с такими редакторами, как Vim. Рекомендуется использовать set noswapfile в вашем ~/.vimrc.

3 голосов
/ 29 сентября 2011

Vim обычно не создает временный файл и затем переименовывает его.Это делается для того, чтобы такие аспекты файловой системы, как ссылки (как программные, так и жесткие), сохранялись при записи файлов.Это кратко обсуждается в разделе Writing документации Vim, с дополнительной информацией в документации по опции 'backupcopy'.

Ваши события изменения файла могут быть ограниченысмена каталога записей .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...