11

私は2つのイベントBufReadとの間で混乱していますBufEnter。それらの違いは何ですか?

どちらか一方を選択するシナリオの例は、非常に役立ちます。

4

2 に答える 2

12

バッファは、ファイルのメモリ内表現です。編集するには、ウィンドウに表示する必要があります。

このBufReadイベントは、Vimがファイルをメモリに読み込んだ後にトリガーされます。を介してリロードしない限り:edit!、これは1回だけ発生します。

BufEnter、特定のバッファをアクティブ化するたびに発生します。つまり、カーソルが置かれているバッファになると発生します。たとえば、異なるバッファを表示する分割ウィンドウがあり、その間を移動する場合です。また、単一のウィンドウで、などのコマンドを使用して、<C-^>現在:bnext編集されているバッファを変更します。

于 2013-02-28T08:22:39.803 に答える
4

BufReadバッファにファイルの内容が入力された後にトリガーされます。

BufEnter編集用のバッファに入った後にトリガーされます。

を使用するBufNewBufReadBufAddバッファの作成時に何かを実行したい場合は、グローバル変数を設定し、スクリプトで使用するために独自のバッファリストを設定します。

BufEnterファイルタイプなどに応じて特定のオプションを設定する場合に使用できます。

于 2013-02-28T08:26:47.277 に答える