Vim正在触发多次保存

时间:2015-01-05 15:19:20

标签: vim save

我在使用nodemonvim

时遇到了问题

nodemon是一个守护程序,它会在每次文件更改时监视文件并启动脚本。

奇怪的是,当我运行nodemon并使用vim保存文件时,nodemon会检测到文件的两个文件更改。

您可以使用以下代码段复制此问题:

npm install nodemon -g
echo "console.log('hello world');" > server.js
nodemon server.js -V
vim server.js

尝试保存文件(使用:w

似乎每次我从vim保存文件时,手表都会被触发两次。 但是,如果您使用server.js打开pico,则文件只会更改一次。

我认为问题不在于nodemon,所以我在这里问什么可以创造这种特殊行为?

我还试图禁用所有vim plubin vim -u NONE server.js,但这没有帮助。

它们也是github上相应的问题:https://github.com/remy/nodemon/issues/349但是,要知道发生了什么似乎并不容易。

1 个答案:

答案 0 :(得分:2)

这是由于Vim的文件写入处理。有关说明,请参阅:help 'backupcopy'。像Vim这样的编辑器用临时备份替换原始文件,以避免完全丢失文件内容。通过inotifywaitsee here)观看文件以进行更改时,这也是一个问题。解决方法是

:set backupcopy=yes

您仍会看到备份文件的事件,但至少它是另一个文件的事件。要完全放弃备份的安全性,您可以添加

:set nobackup