1

私の中には次の行があります.vimrc

" UNIX fileformat
au BufRead,BufNewFile * set fileformats=unix,dos
au BufRead,BufNewFile * set fileformat=unix

これらは、UNIXファイル形式を使用して開いているファイルを作成するためのものです。

ヘルプメッセージを除いて、ほとんどすべての場合にうまく機能します。私がタイプする場合、言いましょう:

:h help

Vimは最初に次のように不平を言います:

"helphelp.txt" [readonly] 350L, 13662C Error detected while processing
BufRead Auto commands for "*": E21: Cannot make changes, 'modifiable'
is off: fileformat=unix

明らかに、私は変更不可能なバッファにfileformatオプションを設定しようとしているので、このエラーが予想されます。しかし、他のファイルの機能を削除せずにそれを取り除くための最もクリーンな方法は何ですか?

ヘルプバッファに自動コマンドを条件付きで適用する/適用しない方法はありますか?

ありがとうございました。

4

1 に答える 1

3

これ'fileformats'はグローバル設定です。.vimrc で 1 回だけ設定するだけで十分です。

set fileformats=unix,dos

エラーは、ヘルプ ファイルだけでなく、他の変更不可能なファイルでも発生します。したがって、'modifiable'バッファ設定を条件として設定することをお勧めします。

au BufRead,BufNewFile * if &l:modifiable | setlocal fileformat=unix | endif

(または、エラーだけでもかまいませんが:silent!、条件付きの方がきれいだと思います。)

于 2012-07-09T10:27:55.977 に答える