1. ホーム
  2. vim

[解決済み] .vimrcの中で、`set nocompatible`は全く意味がないのでしょうか?

2023-07-01 16:58:50

質問

複数のユーザが この壮大な質問 には、以下のように .vimrc :

" Necesary for lots of cool vim things
set nocompatible

しかし、それは本当に必要なのでしょうか?docsから。

'compatible' 'cp'
    boolean (default on, off when a |vimrc| or |gvimrc| file is found)

もし set nocompatible の中に入っている .vimrc ということは .vimrc ファイルが存在することを意味し、一見すると無意味に見えます。

どのように解決するのですか?

システム全体の vimrc であれば、このオプションがオフになることはないでしょう。そのため、システムワイドのvimrcを変更していて、それが必要な場合は設定する必要があります。

ドキュメントセクションより *compatible-default* となっています (強調)。

Vim を起動すると、'compatible' オプションがオンになっています。 これは Vim が初期化を始めるときに使われます。 しかし を指定するとすぐに ユーザ vimrc ファイルが見つかります。 にある vimrc ファイルが見つかるか カレント ディレクトリにある または環境変数 "VIMINIT" 環境変数が設定されている場合は は'nocompatible'に設定されます。

もう一つの違いは、明示的に 'nocompatible' を設定することで、vim を -C フラグ .

他のシナリオでは、はい、vimrc で 'nocompatible' を設定するのはだめです。

結局のところ、「転ばぬ先の杖」ということでしょう。