2

我正在使用 VIM 通过 SCP 编辑文件,因此读取和写入文件是一个非常缓慢的过程。

出于某种原因,每当我切换到缓冲区时,VIM 都会从磁盘读取它。状态栏显示:~@k。

我已经禁用了 .vimrc 中的所有自动命令,而且无论如何我都没有 BufEnter 的自动命令。知道我可能会错过什么吗?

更新:我发现了一个罪魁祸首,一个字数统计宏,它不是自动命令。现在,当我切换时,它有点快,但仍然很慢。状态栏显示 ^Ww。

更新 2:我在下面尝试了 ZyX 的答案(谢谢!!)。结果:

1)设置 eventignore=all 绝对解决它;它的速度非常快。但是 2) 尝试调试它对我不起作用。

我尝试了两者:debug buffer scp-buffer-name:debug wincmd p得到了:

进入调试模式。键入“继续”继续。

命令:wincmd p

第 1 行:for m in filter(copy(fuf#getModeNames()), 'fuf#{v:val}#requiresOnCommandPre()')`

然后无论我输入什么(s,n,“cont”),那一行都会重复。它显然与 Fuzzy Finder 插件有关,我确实经常使用它,这也是我使用 VIM 的一个关键原因。有任何想法吗?

再次感谢您的帮助。非常感谢,XyZ!

问题已解决:确实是 Fuzzy Finder。它具有 MRU 文件模式,文档说明在切换缓冲区时可能会导致性能问题。我禁用了这个模式,现在 VIM 又快了!谢谢!

4

1 回答 1

4

首先,用set eventignore=all. 如果问题得到解决,请尝试使用(确保您已取消设置 eventignore)debug buffer scp-buffer-namedebug wincmd p(取决于您何时看到问题)切换到 scp 缓冲区,它将打开调试模式,您将能够看到它正在执行的所有自动命令(使用s[tep]n[ext]移动到下一个命令,请参阅:h >next:h >step了解更多详细信息)。

于 2011-03-02T13:32:08.270 回答