web-dev-qa-db-ja.com

.exrcと.vimrcの違いは何ですか?

〜/ .exrcファイルを使用してvimを構成できることが経験からわかっています。 〜/ .vimrcファイルが同じ目的で使用できることも知っています。

ただし、vimを構成するために.exrcを使用すると、viではなくvimがインストールされているシステムで問題が発生します。つまり、vimviがサポートしない追加機能をサポートします。 viでそれらを使用しようとすると、viが不平を言います。

私の質問は:

  1. .exrcと.vimrcの違いは何ですか?
  2. 両方が存在する場合、両方が使用されますか?
  3. .exrcファイルを使用してvimを構成することは悪い習慣ですか?
13
Sildoreth
  1. .exrcはviの構成ファイルですが、.vimrcはvimの構成ファイルです

  2. いいえ。Vimは、存在する場合は.vimrcファイルを使用し、存在しない場合は.exrcファイルを使用します。

  3. はい、vi互換のコマンドのみをそこに配置しない限り

ExrcのVimヘルプから:

 c. Four places are searched for initializations.  The first that exists
is used, the others are ignored.  The $MYVIMRC environment variable is
set to the file that was first found, unless $MYVIMRC was already set
and when using VIMINIT.
-  The environment variable VIMINIT (see also |compatible-default|) (*)
   The value of $VIMINIT is used as an Ex command line.
-  The user vimrc file(s):
        "$HOME/.vimrc"     (for Unix and OS/2) (*)
        "$HOME/.vim/vimrc"     (for Unix and OS/2) (*)
        "s:.vimrc"         (for Amiga) (*)
        "home:.vimrc"      (for Amiga) (*)
        "home:vimfiles:vimrc"  (for Amiga) (*)
        "$VIM/.vimrc"      (for OS/2 and Amiga) (*)
        "$HOME/_vimrc"     (for MS-DOS and Win32) (*)
        "$HOME/vimfiles/vimrc" (for MS-DOS and Win32) (*)
        "$VIM/_vimrc"      (for MS-DOS and Win32) (*)
    Note: For Unix, OS/2 and Amiga, when ".vimrc" does not exist,
    "_vimrc" is also tried, in case an MS-DOS compatible file
    system is used.  For MS-DOS and Win32 ".vimrc" is checked
    after "_vimrc", in case long file names are used.
    Note: For MS-DOS and Win32, "$HOME" is checked first.  If no
    "_vimrc" or ".vimrc" is found there, "$VIM" is tried.
    See |$VIM| for when $VIM is not set.
-  The environment variable EXINIT.
   The value of $EXINIT is used as an Ex command line.
-  The user exrc file(s).  Same as for the user vimrc file, but with
   "vimrc" replaced by "exrc".  But only one of ".exrc" and "_exrc" is
   used, depending on the system.  And without the (*)!
14
daniel kullmann