2017-03-16 11 views
1

MacVimを使用しています。私の.vimrcファイルには、map ,V :source $MYVIMRC<CR>バインディングがありますので、最近修正されたケースで.vimrcの最新バージョンを適用できます。 しかし、私は奇妙なことが起きる可能性があることに気付きました。再起動はvimを遅くする可能性があり、,Vを押した後にいくつかのプラグインが衝突する可能性があります。.vimrcファイルを正しく読み込んでvimの再起動と同じになるようにするにはどうすればいいですか?

私は新しい設定ファイルを完全にクリア内部vimの状態とをつかむだろう.vimrcファイルを更新する可能性を持っているしたいとあなたが私にこの行動の理由のヒントを与えることができれば、私は非常に感謝するだろう

+8

「内部のvimの状態を完全にクリアして新しい設定ファイルを取得する」*の唯一の方法は、別のVimインスタンスを起動することです。減速に関しては、可能な(そして非常に一般的な)理由は、自動コマンドの使用が貧弱ですが、あなたの 'vimrc'を見ることなく診断するのは難しいです。 – romainl

+1

グループ外で ':au! 'を除いて定義されたオートコマンドは、本当にスローダウンの原因となる可能性が非常に高いです。 –

+0

ありがとう、@romainl。確かに、オートコマンドは遅延を引き起こしました。これで、完全な再起動と新しいインスタンスが内部状態をリセットする唯一の方法であることがわかりました。たぶんあなたは答えとしてあなたのコメントを追加する必要がありますので、私はこの質問の解決策としてマークすることができます –

答えて

2

設定を元のVimに再適用する唯一の実行可能な方法は、実際には再起動することです。

しかし、遅くなる可能性が最も高いのは、自動コマンドの過剰使用/誤用です。

オートコマンドは、既存のコマンドをチェックせずに追加されます。 1つの結果は、それらを適切に管理しておらず、特定のイベントに対応する個々の自動コマンドが実行されたときにそれらが実行され、恐ろしい減速につながる場合です。

方法#1

" anywhere 
augroup nameofthegroup 
    autocmd! 
    autocmd EventName pattern commandtoexecute 
    autocmd AnotherEventName anotherpattern anothercommandtoexecute 
augroup END 

方法#2

" near the top of your vimrc 
augroup nameofthegroup 
    autocmd! 
augroup END 

" anywhere 
autocmd nameofthegroup EventName pattern commandtoexecute 
autocmd nameofthegroup AnotherEventName anotherpattern anothercommandtoexecute 

考え方は次のとおりです。ここで

は、あなたがあなたのvimrcで自動コマンドを使用することになっている2つの方法がありますいつでも自分自身を消去するオートコマンドのグループを作成するそれらが積み重なることを防止する。

関連する問題