Di mana file .vimrc saya?

439

Saya telah menggunakan Vim , dan saya benar-benar ingin menyimpan pengaturan saya. Masalah yang saya alami adalah bahwa saya tidak dapat menemukan file .vimrc saya, dan itu tidak ada di /home/user/.vimrclokasi standar . Bagaimana saya menemukan file ini?

Eman
sumber
21
Jika tidak ada, buatlah.
10
Mesin Ubuntu saya memilikinya dalam file bernama /usr/share/vim/vimrc.
ckjbgames
4
Kemungkinan duplikat dari Bagaimana menemukan file vimrc yang digunakan oleh vim editor?
yashgarg1232

Jawaban:

515

Anda harus membuatnya. Pada sebagian besar instalasi, saya telah menggunakannya, itu belum dibuat secara default.

Anda biasanya membuatnya sebagai ~/.vimrc.

AlG
sumber
17
juga periksa / etc / vim / vimrc
Natesh bhat
@Nateshbhat: apakah saya harus tetap menggunakan /etc/vim/vimrcatau menyalinnya ~/.vimrc? Atau bisakah saya memiliki keduanya?
Mohammad Faisal
Jika Anda ingin menyesuaikannya, saya akan menyalinnya lokal terlebih dahulu. Kalau tidak, Anda mengubah pengaturan untuk semua pengguna.
AlG
354

Metode ini berfungsi, jika Anda sudah memiliki file .vimrc:

:scriptnamesdaftar semua file .vim yang dimuat Vim untuk Anda, termasuk .vimrcfile Anda .

:e $MYVIMRCbuka & edit .vimrc saat ini yang Anda gunakan, kemudian gunakan Ctrl+ Guntuk melihat jalur di bilah status.

Philia Fan
sumber
7
@ MorganWilde Tidak harus, :scriptnamesdan :e $MYVIMRCkeduanya mengembalikan output kosong untuk saya.
Rohmer
1
+1 untuk :scriptnames. Namun $MYVIMRCtidak dijamin akan diatur, misalnya saat memulai vim with vim -u filename.
1983
4
: nama script memiliki vimrc tetapi tidak .vimrc, apakah mereka sama? Saya menemukan mereka terletak di folder usr / share saya, akan menambahkan ~ / .vimrc (sebagai jawaban yang diterima) bahkan melakukan apa pun tanpa konfigurasi lebih lanjut? Apakah itu cara untuk menambahkan opsi spesifik pengguna ke vimrc?
Tyler
15
Perhatikan bahwa :e $MYVIMRChanya berfungsi ketika ada vimrcfile di tempat pertama. Kalau tidak, ini akan mulai mengedit file yang secara harfiah disebut $MYVIMRC.
Tomalak
1
@ Sharoninja - itu bukan "milikmu", itu adalah rcfile global . Apa pun yang Anda definisikan dalam .vimrcfile Anda (dalam kebanyakan kasus di direktori home Anda) akan menimpa default di /etc/vimrc.
mathguy
92

Jawaban singkat:

Untuk membuat vimrc Anda, mulai Vim dan lakukan salah satu dari yang berikut:

:e $HOME/.vimrc  " on Unix, Mac or OS/2

:e $HOME/_vimrc  " on Windows

:e s:.vimrc      " on Amiga

Masukkan pengaturan yang Anda inginkan, dan simpan file.

Perhatikan bahwa keberadaan file ini akan menonaktifkan compatibleopsi. Lihat di bawah untuk detailnya.

Jawaban panjang:

Ada dua jenis vimrc:

  • yang pengguna vimrc di$HOME
  • yang sistem vimrc di $VIM(pada sistem Amiga, s:.vimrcdianggap sebagai pengguna vimrc)

File vimrc pengguna sering tidak ada sampai dibuat oleh pengguna. Jika Anda tidak dapat menemukan $HOME/.vimrc(atau $HOME/_vimrcpada Windows) maka Anda dapat, dan mungkin harus, buat saja.

Vimrc sistem biasanya harus dibiarkan tidak dimodifikasi dan terletak di direktori $VIM* . Vimrc sistem bukan tempat yang baik untuk menyimpan pengaturan pribadi Anda. Jika Anda memodifikasi file ini, perubahan Anda mungkin ditimpa jika Anda pernah meningkatkan Vim. Selain itu, perubahan di sini akan memengaruhi pengguna lain pada sistem multi-pengguna. Dalam kebanyakan kasus, pengaturan di vimrc pengguna akan mengesampingkan pengaturan di vimrc sistem.

Dari :help vimrc:

File yang berisi perintah inisialisasi disebut file "vimrc". Setiap baris dalam file vimrc dieksekusi sebagai baris perintah Ex. Kadang-kadang juga disebut sebagai file "exrc". Mereka adalah tipe file yang sama, tetapi "exrc" adalah yang selalu digunakan Vi, "vimrc" adalah nama spesifik Vim. Lihat juga | vimrc-intro |.

Tempat untuk inisialisasi pribadi Anda:

    Unix            $HOME/.vimrc or $HOME/.vim/vimrc
    OS/2            $HOME/.vimrc, $HOME/vimfiles/vimrc
                    or $VIM/.vimrc (or _vimrc)
    MS-Windows      $HOME/_vimrc, $HOME/vimfiles/vimrc
                    or $VIM/_vimrc
    Amiga           s:.vimrc, home:.vimrc, home:vimfiles:vimrc
                    or $VIM/.vimrc

File-file tersebut dicari dalam urutan yang ditentukan di atas dan hanya yang pertama yang ditemukan yang dibaca.

(MacOS dihitung sebagai Unix untuk yang di atas.)

Perhatikan bahwa keberadaan vimrc pengguna saja akan mengubah perilaku Vim dengan mematikan compatibleopsi. Dari :help compatible-default:

Ketika Vim dimulai, opsi 'kompatibel' aktif. Ini akan digunakan ketika Vim memulai inisialisasi. Tetapi begitu file vimrc pengguna ditemukan, atau file vimrc di direktori saat ini, atau variabel lingkungan "VIMINIT" diset, itu akan diatur ke 'tidak kompatibel'. Ini memiliki efek samping pengaturan atau pengaturan ulang opsi lain (lihat 'kompatibel'). Tetapi hanya opsi yang belum diatur atau diatur ulang yang akan diubah.


* $VIMmungkin tidak diatur di shell Anda, tetapi selalu diatur di dalam Vim. Jika Anda ingin melihat pengaturannya, mulai Vim dan gunakan perintah:echo $VIM

Laurence Gonsalves
sumber
28

Sebagai informasi tambahan, sebagian besar di macOS, file .vimrc terletak di direktori:

/usr/share/vim/.vimrc
hihell
sumber
25
Itu adalah vimrc sistem. Lebih baik mengedit $ HOME / .vimrc, dan membuatnya jika belum ada.
Laurence Gonsalves
1
Jika file .vimrc tidak dibuat di direktori home maka /usr/share/vim/.vimrcfile referensi vi untuk digunakan.
Sandeep
Sama di Ubuntu, seperti yang saya temukan.
ckjbgames
25
:echo($MYVIMRC)

akan memberi Anda lokasi file .vimrc Anda.

:e $MYVIMRC

akan membukanya.

Benteng
sumber
1
Saya mengambil kembali yang berikut ini: -bash: kesalahan sintaksis dekat token tak terduga '$ MYVIMRC'
Yannis Dran
@YannisDran - Uhmm, apa?
Benteng
@ Idigas saya mengetik: echo (xxx) di jendela perintah saya tapi saya menyadari sekarang Anda bermaksud mengetik ini ke editor vim. Namun, meskipun: e xxx bekerja, the: echo (xxx) tidak. Dikatakan E121 Undefined Variabel: xxx E15: Ekspresi Tidak Valid: ($ xxx)
Yannis Dran
@YannisDran - Agar lebih jelas, Anda mendapatkan kesalahan saat mengetik: echo ($ myvimrc) ke dalam baris perintah vim? Tidak: echo (myvimrc) kebetulan?
Benteng
1
Saya menggunakan $ dan saya melakukannya ke editor vi (Mengetik: mengaktifkan baris perintah). Btw, sekarang vim tidak menanggapi apa pun, itu hanya menempatkan indikator pada baris pertama vim. (Vim-Vi Peningkatan v.7.3 di OSX)
Yannis Dran
15

Apa pun alasannya, jawaban-jawaban ini tidak berhasil bagi saya. Inilah yang bekerja untuk saya sebagai gantinya:

Di Vim, :versionperintah memberi Anda jalur file vimrc dan gvimrc sistem dan pengguna (antara lain), dan hasilnya terlihat seperti ini:

 system vimrc file: "$VIM/vimrc"
   user vimrc file: "$HOME/.vimrc"
    user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
  user gvimrc file: "$HOME/.gvimrc"

Yang Anda inginkan adalah user vimrc file: "$HOME/.vimrc"

Jadi untuk mengedit file: vim $HOME/.vimrc

Sumber: Buka file vimrc

Aaron Alphonsus
sumber
2
Saya tidak mengerti bagaimana jawaban yang ada tidak bekerja untuk Anda padahal sebenarnya solusi yang Anda usulkan sudah dicakup oleh mereka. Jawaban ini menyebutkan $HOME/.vimrcdan jawaban teratas menyebutkan ~/.vimrcyang sama dengan $HOME/.vimrc.
doubleDown
Sepenuhnya setuju dengan Anda. Apa yang ingin saya katakan hilang ketika jawaban saya diedit
Aaron Alphonsus
11

Buka Vim, dan dalam mode normal:

:echo $VIM
adem
sumber
jawaban yang diremehkan
Fl.pf.
Bagi saya itu hanya keluaran /usr/share/vim. Versi 8.2.100, Arch Linux.
Yaroslav Nikitenko
Ini memberi tahu Anda direktori tempat vimrc sistem Anda berada, tetapi ia tidak memberi tahu Anda di mana vimrc pengguna Anda harus pergi, atau apa namanya.
Laurence Gonsalves
Nah, pertanyaan "di mana" adalah file vimrc. Di mana pengguna vimrc harus pergi? Masukkan ke ~/.vimrcatau ~/.vim/vimrc, perhatikan bahwa yang terakhir tidak memiliki titik di depannya.
adem
8

di unix vim --versionmemberi tahu Anda berbagai lokasi file konfigurasi vim:

   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
qrtLs
sumber
Dapat memverifikasi bahwa ini berfungsi dengan VIM yang digabungkan dengan Git untuk Windows. (Memperhatikan hal ini hanya karena jawaban SO mungkin menganggap bahwa JANGAN bekerja di Git Bash.)
Janet
5

Berikut beberapa tips:

  • Di Arch Linux yang global ada di /etc/vimrc. Ada beberapa komentar di sana dengan detail yang bermanfaat.

  • Karena nama file dimulai dengan a ., itu disembunyikan kecuali Anda gunakan ls -auntuk menampilkan SEMUA file.

  • Mengetikkan :versionsementara di Vim akan menampilkan banyak informasi menarik termasuk lokasi file.

  • Jika Anda tidak yakin apa ~/.vimrcartinya melihat pertanyaan ini .

Ben
sumber
5

Saya ingin membagikan bagaimana saya menetapkan menunjukkan nomor baris sebagai default di Mac.

  1. Di terminal, ketik cd. Ini akan membantu Anda pergi ke folder rumah.
  2. Di terminal, ketik vi .vimrc. Ini akan membuat file sistem vimrc kosong yang ingin Anda gunakan.
  3. Dalam file tersebut, ketik set number, lalu tekan Esckeyboard dan ketik :wq. Ini akan mengatur nomor baris yang ditunjukkan dalam file pengaturan default vimrcdan menyimpannya.
  4. vi somethinguntuk melihat apakah ini berhasil. Jika tidak, coba untuk me-restart terminal sepenuhnya.

Jika di terminal, ketik cd /usr/share/vim/, buka folder itu, dan ketik ls. Anda dapat langsung melihat file bernama vimrc. Tetapi ini adalah file sistem yang mengatakan hanya baca. Saya merasa itu bukan ide yang baik untuk mencoba memodifikasinya. Jadi mengikuti langkah-langkah di atas untuk membuat vimrc sendiri lebih baik. Ini berhasil untuk saya.

Jinggang
sumber
Satu hal yang perlu saya ubah di atas untuk menginstal CentOS7 saya: setelah langkah 1, ketik "cd username".
HoldOffHunger
2

Saya mencoba semuanya di jawaban sebelumnya dan tidak dapat menemukan .vimrcfile, jadi saya harus membuatnya.

Saya menyalin file contoh cp vimrc_example.vim ~/.vimrc,.

Saya harus membuat file, menyalin dari /usr/share/vim/vim74/vimrc_example.vimke ~/.vimrc. Itu adalah instruksi dalam vimrc_examplefile.

Solusi saya adalah untuk Unix untuk sistem operasi lain. Menurut dokumentasi Vim, jalur tujuan Anda harus sebagai berikut:

    For Unix and OS/2   : ~/.vimrc
    For Amiga           : s:.vimrc
    For MS-DOS and Win32: $VIM\_vimrc
    For OpenVMS         : sys$login:.vimrc
deb2fast
sumber
1

Dari cmd (Windows):

C\Users\You> `vim foo.txt`

Sekarang di Vim, masuk ke mode perintah dengan mengetik: " : " (yaitu Shift+ ;)

:tabedit $HOME/.vimrc
Jason
sumber
Ini menganggap keyboard dengan tata letak AS.
Peter Mortensen
1

File vimrc di Ubuntu ( 12,04 (Precise Pangolin) ) : Saya mencoba :scriptnamesdi Vim, dan ini menunjukkan keduanya /usr/share/vim/vimrcdan ~/.vimrc.

Tapi saya telah membuat secara manual ~/.vimrc.

pembuat kode mitos
sumber