Apa perbedaan antara .exrc dan .vimrc?

13

Saya tahu dari pengalaman bahwa file ~ / .exrc dapat digunakan untuk mengkonfigurasi vim. Saya juga tahu bahwa file ~ / .vimrc dapat digunakan untuk tujuan yang sama.

Namun, Jika saya menggunakan .exrc untuk mengkonfigurasi vim, lead ini untuk masalah pada sistem di mana vidiinstal, bukan vim. Yaitu, vimmendukung fitur tambahan yang vitidak; dan ketika Anda mencoba menggunakannya vi, vimengeluh.

Pertanyaan saya adalah:

  1. Apa perbedaan antara .exrc dan .vimrc?
  2. Jika keduanya ada, maka keduanya digunakan?
  3. Apakah praktik yang buruk untuk menggunakan file .exrc untuk mengkonfigurasi vim?
Sildoreth
sumber

Jawaban:

14
  1. .exrc adalah file konfigurasi untuk vi, sedangkan .vimrc adalah file konfigurasi untukvim

  2. Tidak. Vim akan menggunakan file .vimrc jika ada, sebaliknya file .exrc jika ada

  3. Ya, kecuali Anda hanya memasukkan perintah yang kompatibel dengan vi di sana

Dari bantuan Vim pada 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
sumber