gpt4 book ai didi

Vim 正在触发多次保存

转载 作者:行者123 更新时间:2023-12-04 15:33:37 25 4
gpt4 key购买 nike

我在使用 nodemon 时遇到问题连同vim
nodemon 是一个守护进程,它监视文件并在每次文件更改时启动脚本。

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

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

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

比尝试保存文件(使用 :w )

似乎每次我从 vim 保存文件时, watch 都会被触发两次。
但是,如果您打开 server.jspico ,文件只更改一次。

我不认为问题出在 nodemon 上,所以我在这里问是什么会造成这种特殊行为?

我也尝试禁用所有 vim 插件 vim -u NONE server.js但这没有帮助。

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

最佳答案

这是由于 Vim 的文件写入处理。见 :help 'backupcopy'为解释。 Vim 等编辑器用临时备份替换原始文件,以避免完全丢失文件内容。通过 inotifywait 查看文件的更改时,这也是一个问题。 ( see here )。一个解决方法是

:set backupcopy=yes

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

关于Vim 正在触发多次保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27782476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com