Bagaimana cara "mencari" sesuatu di file .vimrc saya?

98

Saya telah bekerja untuk mengembangkan vim-foo saya akhir-akhir ini dan saya telah menemukan beberapa plugin ( autotag.vim misalnya) yang mengharuskan mereka untuk "bersumber" di file .vimrc saya. Apa sebenarnya artinya ini dan bagaimana cara melakukannya?

Paul Wicks
sumber

Jawaban:

118

Sourcing file adalah 'mengeksekusinya'. Pada dasarnya, setiap baris file dianggap sebagai perintah. Sourcing itu sama dengan mengetik setiap perintah secara berurutan. Anda sumber dengan perintah :source(biasanya disingkat :so).

Jadi jika Anda sumber myStuff.vim

:so myStuff.vim

dan jika myStuff.vimberisi garis-garis ini

set xx iI just intersted this<C-]>
set yy bbbb4dw

Ini sama seperti jika Anda mengetik perintah itu ke Vim

:set xx iI just intersted this<C-]>
:set yy bbbb4dw

Satu-satunya file yang bersumber secara default adalah .vimrc( _vimrcdi windows) sehingga di situlah Anda dapat menyimpan semua perintah yang Anda gunakan untuk mengatur Vim setiap saat.

Yang menarik adalah kenyataan bahwa karena file bersumber hanyalah serangkaian perintah, dan sumber adalah perintah, Anda dapat mengambil file dari file sumber Anda. Jadi plugin yang Anda gunakan setiap saat dapat bersumber saat Anda memulai Vim dengan menambahkan baris .vimrcseperti ini

 so myPlugin.vim
Whaledawg
sumber
2
Apa yang so!dilakukannya? Saya menjalankannya karena saya pikir itu akan memaksa sumber daya saya .vimrcdan itu mulai berjalan melalui file yang saya edit (milik saya .vimrc) dan mengindentasi omong kosong dengan cara yang aneh dan semua jenis hal aneh terjadi.
Alexej Magura
2
Ini mengeksekusi file dalam mode "normal" (yaitu, apa yang akan terjadi jika Anda tidak menambahkan ":" di depan).
Andrew Miner
44

File di direktori .vim / plugin Anda bersumber (dimuat) secara otomatis.

Michiel de Mare
sumber
7
Selain itu, nama file mereka harus diakhiri dengan .vim
flawyte
ya tapi hanya sekali per startup, bukan? apakah itu ketika Anda meluncurkan terminal / PowerShell, atau ketika Anda menggunakan perintah vim untuk mengedit beberapa file?
3pitt
@ 3pitt AFAIK, setiap perintah vim dijalankan.
Thaddaeus Markle
12

Selalu ada perintah : file sumber . Saya biasanya menulis .vimrcyang berisi perintah khusus dan apa yang tidak untuk aplikasi konsol dan kemudian .gvimrcyang berisi barang tambahan yang sesuai untuk versi berjendela. Saya .gvimrcmemulai dengan source $HOME/.vimrcmengambil semuanya dari versi konsol sebelum menambahkan barang baru.

D. Shawley
sumber
Versi vim saya, setidaknya, semua sumber .vimrc sepanjang waktu. Apakah Anda yakin perlu menggunakan .vimrc?
Dav Clark
@DavClark: sepertinya Anda benar tentang itu. Saya sudah melakukan ini sejak lama dan tidak pernah berpikir dua kali untuk itu. File bantuan pasti menyatakan bahwa ini tidak perlu ... hmmm.
D. Shawley
6

Biasanya ada dua file vimrc, satu adalah _vimrc dan yang lainnya _gvimrc (yang pertama adalah untuk vim, dan yang kedua untuk gvim - hal-hal grafis) - walaupun kebanyakan orang yang saya kenal hanya memasukkan semuanya ke _vimrc.

Praktik yang baik adalah menyimpan semua file tambahan Anda (plugin, colorchemes, snippet ...) di direktori vimfiles terpisah (milik Anda sendiri) (yang dapat Anda bawa).

Jika kamu melakukan

:help vimfiles

vim akan memberi tahu direktori vimfiles Anda harus ditemukan. Itu agak tergantung pada platform (win, unix). Di windows yang biasa ada di folder pengguna Anda (dokumen dan pengaturan, lalu pengguna ...). Di direktori vimfiles ada beberapa subdirektori. Diantaranya adalah subdirektori "plugin". Plugin yang dimasukkan ke direktori tersebut akan dimuat secara otomatis (juga plugin dimasukkan ke dalam subdirektori "plugin"). Jika Anda tidak ingin memuatnya secara otomatis, taruh saja di "vimfiles" Anda, atau direktori lain, dan

:so plugin_name.vim (with the appropriate path)
(you can use the $vim, $vimfiles, and $home as shortcuts when defining path to plugin)
Benteng
sumber