2011-01-31 15 views
6

在某些時候,vim的工作速度顯然很慢。當我在100行文件中處於正常模式時,輸入「O(大寫字母o)出現約1-2秒並且只有當前行上面新插入模式下創建新空行 (這是正常行爲)。我想知道爲什麼發生這種情況的可能原因...在某些時刻,vim的工作明顯緩慢

我有相當強大的電腦,所以問題不在電腦。

+4

對於這個問題「脫離主題」投票的人來說:哪個論壇會更主題,爲什麼它與編程無關? - 有些人靠編程謀生,而vim是他們實現他們應該達到的目標的工具,如果vim速度慢,這肯定與編程有關。 – 2011-01-31 09:04:26

+0

是否有任何顯着的消息(``:messages`)?如果你的vim是用profiling支持構建的,你可以試試`:prof start`來查看哪個操作花費最多的時間......通常,這個特性不會被編譯進去,但是你可以非常容易地自己編譯vim ... – eckes 2011-01-31 09:04:27

回答

8

你連續點擊<Esc>,然後O?如果是這樣,您會看到因<Esc>O開頭的某些終端轉義序列而導致的延遲。 Vim必須等待看看你是否真的輸入了這些序列中的一個。

要自己查看,請在插入模式下輸入<Esc>OA,然後光標應向上移動。在插入模式下按<Ctrl-v><Up>將顯示生成的轉義碼。

1

可能是你有一個重新定義鍵綁定,與「O」 ......啓動,這樣VIM必須等待,看看你會如果你有一個輸入下面的按鍵

8

類型:map O

以大寫字母O開始的正常映射,Vim可能會等待超時以確保您沒有開始輸入複雜的命令。

通常,超時默認值爲1秒。

請參閱:help timeout:help timeoutlen

如果您確實有一個以O開頭的映射,您可以使用:verbose map找到它的定義位置。然後,您可以禁用它或修改它(或移除定義映射的插件)。

+1

In這種情況下類型:地圖O – skeept 2011-01-31 15:53:47