.vimrc的重新載入時間逐漸減慢
我的vim的啟動時間大約是半秒鐘(用“–startuptime”測試),但是在我通過源重新載入vimrc幾次後,它會慢一些.我沒有系統地除錯.vimrc,所以我不知道如何進行.設定詳細有助於看到發生了什麼,我幾乎肯定.vimrc被載入不止一次. (特別是filetype.vim和ftplugin.vim)每當我按Ctrl-C停止掛起,我在filetype.vim中收到一個錯誤,我認為是因為vim花費大部分時間嘗試載入filetype.vim.我看到的最可能的罪魁禍首是.vimrc的自動重新載入:
if has("autocmd") autocmd bufwritepost .vimrc source $MYVIMRC "auto source vimrc endif
我怎麼能阻止這種情況發生?
這裡的罪魁禍首是你使用autocmd.當您定義一個自動命令時
autocmd <Event> <Action>
vim定義一個新的自動命令,而不管現有的自動命令.所以當你的.vimrc中有幾個這樣的自動命令,並反覆提供它(在這種情況下,對於每一次寫入),你最終定義了數以百計的自動命令,這些命令都是重複的.很快就會爆炸和減慢你的vim會話,這是你注意到的.
您需要做的是將您的自動命令分組,然後使用autocmd!清除該組的定義.作為一個簡單的例子:
augroup Group1 autocmd! autocmd <Event1> <Action1> autocmd <Event2> <Action2> ... augroup END
您可以擁有儘可能多的組,您可以通過類似的操作/事件來組織它們.
http://stackoverflow.com/questions/15353988/progressively-slower-reloading-time-of-vimrc