1

init.vim に次の行があります。

if !&readonly
  set fileencoding=utf-8
endif

ファイルエンコーディングをutf-8に設定します。カーソルがnerdtreeウィンドウにない限り、正常に動作します。その場合、次のエラーが発生します。

ここに画像の説明を入力

nerdtreeウィンドウをutf-8に設定しようとしていると思います。ifステートメントでnerdtreeをチェックすることでこれを解決できると思います(nerdtreeウィンドウのファイルエンコーディングを設定しようとしないように)。それ、どうやったら出来るの?

4

1 に答える 1

1

確認したところ、nerdtree ウィンドウは : noreadonly & nomodifiable です。あなたが受け取ったメッセージがすべてを物語っています。オプションを設定しても、「変更不可」のウィンドウを変更することはできません。試す:

if !&readonly && &modifiable
  set fileencoding=utf-8
endif

他のオプションは、いくつかの変数で現在の状態を記憶することです:

if !&readonly
    let prev_modifiable = &modifiable
    set modifiable
    set fileencoding=utf-8
    let &modifiable=prev_modifiable
endif
于 2017-02-24T09:56:54.157 に答える