Konfigurasi Vim saya mencakup plugin yang mencoba menangani proyek saat ini, tag bangunan, dll . Ini cukup berguna untuk pemrograman harian saya di Vim, tetapi hanya mengganggu ketika saya menggunakan Vim untuk beberapa pengeditan cepat, seperti:
- sunting pesan git commit;
- edit perintah shell ketika saya mengetikkan Ctrl+xCtrl+ezsh atau bash;
- dll.
Saya juga tidak suka --noplugins
, karena saya masih ingin memanfaatkan beberapa plugin dalam mode edit cepat, seperti surround, gerakan mudah, dan banyak lainnya.
Jadi, saya ingin memiliki beberapa "mode cahaya" (atau "mode cepat"), di mana beberapa plugin akan dilewati, tetapi tidak semuanya.
Gagasan pertama saya adalah memiliki beberapa argumen baris perintah khusus, yang saya parsing dalam vimscript, tetapi googling cepat menunjukkan bahwa saat ini tidak mungkin dalam vimscript (sedih sekali, omong-omong).
Gagasan kedua saya adalah mengatur beberapa variabel lingkungan saat menjalankan vim, seperti ini:
$ VIM_LIGHT_MODE=1 vim
Ini bekerja di git:
$ git config --global core.editor 'VIM_LIGHT_MODE=1 vim'
Tetapi jika saya lakukan EDITOR='VIM_LIGHT_MODE=1 vim'
, dan ketik Ctrl+xCtrl+eshell, itu tidak berfungsi:
edit-command-line:13: command not found: VIM_LIGHT_MODE=1
Lalu saya mencoba ini:, EDITOR="bash -c 'VIM_LIGHT_MODE=1 vim'"
tetapi gagal juga:
vim': -c: line 1: syntax error: unexpected end of file
(Sejujurnya, yang ini terlihat sangat aneh, sepertinya saya salah paham bagaimana tepatnya $EDITOR
digunakan, dan saya akan senang jika seseorang menjelaskan apa yang terjadi di sini)
Semua eksperimen lain juga gagal.
Satu-satunya peretasan yang dapat saya pikirkan adalah mengatur beberapa servername
, seperti:
$ vim --servername VIM_LIGHTWEIGHT_MODE
Dan kemudian periksa v:servername
dalam vimscript, tapi ini adalah retasan total : ini bukan untuk servername.
Jadi adakah cara yang lebih bersih untuk mencapai apa yang saya inginkan?
vim
sebagai vim -u .vimrc-light
.
env
sama sekali, shell-fu saya masih terlalu lemah. Pertimbangkan untuk menuliskannya sebagai jawaban, sehingga saya dapat menerimanya.
env
:EDITOR='env VIM_LIGHT_MODE=1 vim'
.