为什么在编辑 USB 记忆棒上的文件时,gvim 经常会卡住?

为什么在编辑 USB 记忆棒上的文件时,gvim 经常会卡住?

我在 Windows XP 上使用 gvim 7.2 编辑速度较慢的 USB 记忆棒上的文件。当其他程序访问该记忆棒时,编辑器会冻结几秒钟。

我已经尝试使用“set directory”命令将 Vim 交换文件移动到硬盘上。为什么 gvim 在我编辑时访问磁盘?我该怎么做才能防止这些冻结?

更新:使用进程监控工具,我发现当 gvim 检查窗口获得焦点时文件是否发生更改时会发生冻结。有没有办法关闭它?

答案1

可能是 gvim 的自动阅读功能,用于检查正在编辑的文件是否在 gvim 之外进行了更改。您可以控制此功能。请参阅gvim FAQ 的相关部分

答案2

我认为这是由于 vim 读取和写入的 .filename.swp 文件与您正在编辑的文件位于同一目录中。

为了解决这个问题,你可以这样做:

:设置目录=/tmp

:vi

这假设 /tmp 速度很快(并且不在闪存驱动器上)。

您还可以这样做:

:设置目录=/dev/shm

:vi

然而,如果整个系统的闪存耗尽,系统崩溃后您将无法获得任何恢复选项。

您还可以将其放入从闪存启动/运行的系统上的 .vimrc 中:

设置目录=/dev/shm

相关内容