Quelle est la différence entre .exrc et .vimrc?

13

Je sais par expérience que le fichier ~ / .exrc peut être utilisé pour configurer vim. Je sais également que le fichier ~ / .vimrc peut être utilisé dans le même but.

Cependant, si j'utilise .exrc pour configurer vim, cela conduit à des problèmes sur les systèmes où viest installé plutôt que vim. À savoir, vimprend en charge des fonctionnalités supplémentaires qui vine le font pas; et lorsque vous essayez de les utiliser dans vi, se viplaint.

Mes questions sont:

  1. Quelle est la différence entre .exrc et .vimrc?
  2. Si les deux sont présents, les deux sont- ils utilisés?
  3. Est-ce une mauvaise pratique d'utiliser le fichier .exrc pour configurer vim?
Sildoreth
la source

Réponses:

14
  1. .exrc est le fichier de configuration pour vi, tandis que .vimrc est le fichier de configuration pourvim

  2. Non. Vim utilisera le fichier .vimrc s'il est présent, sinon le fichier .exrc s'il est présent

  3. Oui, à moins que vous y mettiez uniquement des commandes compatibles vi

De l'aide de Vim sur exrc:

 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 (*)!
daniel kullmann
la source