2011-03-02 170 views
1

我使用VIM编辑SCP上的文件,因此读取和写入文件是一个很慢缓慢的过程。VIM刷新缓冲区,只要我切换到它

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

我已禁用全部我的.vimrc中的自动命令,而且我也没有自动命令BufEnter。任何想法我可能会失踪?

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

更新2:我试过ZyX的答案(谢谢!!)。结果:

1)设置eventignore =全部绝对解决;它的速度非常快。但是 2)试图调试它不适合我。

我都尝试:debug buffer scp-buffer-name:debug wincmd p,并得到:

进入调试模式。输入“cont”继续。

CMD:wincmd p

第1行:在过滤器M(拷贝(FUF#getModeNames()), 'FUF#{ν:VAL} #requiresOnCommandPre()')'

然后无论我输入什么(s,n,“cont”),该单行就会重复。这显然与Fuzzy Finder插件有关,我使用它很多,也是我使用VIM的关键原因。有任何想法吗?

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

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

+0

由于某种原因无法编辑我的问题。我发现一个罪魁祸首,一个不是自动命令的字数宏。现在,当我切换它有点快但仍然很慢。状态栏显示^ Ww。 – ezuk 2011-03-02 11:52:19

+0

不确定你仍然有问题,但如果你想知道'^ Ww'的默认行为,你可以检查':help CTRL-W_w'。它基本上用于从一个窗口移动到另一个窗口。 – 2011-03-02 12:40:38

+0

也许“autoread”设置已启用? – Benoit 2011-03-03 12:39:33

回答

4

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