Saya ingin memodifikasi saya .vimrc
untuk membaca nilai variabel dari file eksternal. Bagaimana saya bisa melakukan ini?
Secara khusus, seorang teman dan saya berbagi repo git dengan .vim
file kami , tetapi ada beberapa perbedaan kecil dalam apa yang kami inginkan dalam konfigurasi kami. Jadi sebagian besar file adalah umum, tetapi kami menggunakan pernyataan if untuk menentukan apakah akan memuat bagian khusus pengguna, seperti ini:
let whoami = "user2"
if whoami == "user1"
...
Setelah memeriksa .vimrc
kontrol sumber di luar bersama kami , kami masing-masing harus mengubah let whoami
tugas sehingga bagian kami sendiri akan dimuat. Sebagai gantinya, saya ingin menyimpan file terpisah, yang bisa berbeda untuk kita masing-masing, dan dari mana vim akan memuat nilai variabel itu.
Mungkin sudut lain dalam hal ini adalah: Apakah vim akan secara otomatis membaca semua file dalam .vim
direktori saya ? Jika demikian, kita masing-masing dapat meletakkan symlink di sana yang disebut username.vim, dan menautkannya ke file eksternal yang akan berbeda untuk kita masing-masing.
let whoami = ""
tepat sebelumsource
baris, sehingga jika gagal memuat file eksternal, variabel ada dan saya mendapatkan pesan kesalahan yang telah kami atur sebelumnya untuk variabel yang tidak disetel.silent! source
bagian iniMenggunakan coba / tangkap
Sejak mengajukan pertanyaan ini, saya membuat kasus penggunaan lain untuk memuat file eksternal: tweak khusus mesin.
Karena saya mungkin atau mungkin tidak perlu melakukan tweak pada mesin yang diberikan, saya menggunakan a
try/catch
untuk memuat file eksternal; jika tidak ada file seperti itu, saya biarkan gagal diam-diam.sumber
Untuk menjawab pertanyaan terakhir, file-file yang masuk
~/.vim
tidak secara otomatis dimuat, tetapi semua file yang ada~/.vim/plugin
adalah.sumber
after
,autoload
)Anda dapat meminta ~ / .vimrc memuat file lain menggunakan
:source
perintah. Sebagai contoh, Anda masing-masing dapat menempatkan perintah unik Anda di ~ / .myvimrc dan memuat perintah-perintah itu denganAtau, ketika Anda berpikir, Anda masing-masing dapat memasukkan nama Anda di file seperti ini:
dan kemudian letakkan ini di ~ / .vimrc Anda:
Daripada memasukkan nama Anda ke file, Anda bisa menggunakan $ USER seperti yang disarankan akira, atau mengatur
user
menggunakanwhoami
, seperti ini:Fungsi pengganti () diperlukan karena output dari sistem () biasanya memiliki '\ n' ditempel di akhir.
sumber
whoami
tidak bekerja di windowswhoami
memunculkan proses baru, ketika Anda membuka editor Anda harus cepat dan tidak (tidak berguna) melakukan pekerjaan beberapa kali lagi.nama pengguna yang masuk tersedia dalam variabel lingkungan $ USER. Anda dapat mengakses variabel itu dengan mudah:
jadi, gunakan saja
di vimrc Anda dan menempatkan pengaturan spesifik pengguna Anda ke
atau apa pun nama login Anda
sumber
Saya tidak yakin seperti apa vimrc Anda sehingga ini mungkin tidak layak, tetapi jika ada bagian besar yang Anda dan teman Anda bagikan, Anda mungkin ingin memecahnya menjadi plugin terpisah. Anda dapat menambahkan file ke
~/.vim/plugin
direktori untuk memuatnya saat startup. (Mereka dimuat dalam urutan abjad - gunakan:scriptnames
untuk memeriksa.)Dengan begitu Anda masing-masing dapat memiliki vimrc yang benar-benar unik, tetapi semua konfigurasi umum Anda ada dalam plugin. Jika Anda memecahnya secara logis, maka itu juga memudahkan untuk berbagi dengan orang lain.
sumber