Untuk memastikan bahwa perilaku tidak terpengaruh oleh konfigurasi pribadi saya, saya ingin memulai Vim dengan cara yang mengabaikan semua file konfigurasi yang diinstal pengguna, seolah-olah Vim baru saja diinstal baru untuk pertama kalinya dan pengguna telah menjalankannya segera.
Ini dibahas dalam FAQ yang menunjukkan bahwa jawabannya adalah memulai Vim dengan perintah berikut:
vim -u NONE -U NONE -N -i NONE
Ini mendapatkan sebagian besar jalan di sana, tetapi runtimepath
opsi masih berisi ~/.vim
dan, terutama,, ~/.vim/after
(jadi misalnya jika saya kemudian mengaktifkan deteksi tipe file dan mengubah tipe file, kode di ~/.vim/after/syntax/the_relevant_filetype.vim
akan dieksekusi).
Saya dapat mengatasi masalah khusus ini dengan menjalankan perintah berikut saat startup *:
:set runtimepath-=~/.vim
:set runtimepath-=~/.vim/after
... tapi saya tidak yakin apakah:
- Ini adalah solusi yang tangguh: Apakah itu satu-satunya jalur yang dapat menyebabkan konfigurasi pengguna berlaku? Apakah ada hal lain yang belum saya pikirkan?
- Ada cara yang lebih baik untuk mencapai hasil yang diinginkan.
* Dengan menggunakan --cmd
atau -u vimrc
shell argumen, atau cukup dengan mengetiknya secara manual.
EDIT : Ini adalah satu contoh spesifik dari jenis masalah yang saya coba untuk perbaiki (Meskipun saya ingin solusi untuk memperbaiki masalah lain yang mungkin saya belum temui.):
Buat file ~ / .vim / after / ftplugin / c.vim, berisi konten:
noremap i :echom "This is not default behaviour"<CR>
Sekarang kami memiliki beberapa konfigurasi yang dipasang pengguna yang ingin kami abaikan. Mari kita coba solusi yang disarankan oleh FAQ.
Jalankan Vim dengan perintah:
vim -u NONE -U NONE -N -i NONE
Masukkan perintah:
:filetype plugin on :set ft=c i
Perilaku yang diinginkan : Vim harus masuk ke mode Sisipkan. Inilah yang akan dilakukan jika tidak ada konfigurasi pengguna.
Perilaku yang diamati : Vim mencetak "Ini bukan perilaku default"
:cd ~
, tetapi juga lokasi default viminfo
file adalah $ HOME, yang dapat menyebabkan E138. Saya kira membuat direktori baru yang kosong dan menggunakannya untuk $ HOME mungkin merupakan solusi terbaik.
-u NONE
?
/tmp
mungkin lebih baik, itu adalah pikiran pertama saya, tetapi kemudian saya memilih / dev / null sebagai lubang hitam. ... Atau semacamnya HOME=$(mktemp -d) vim ...
.
-u NONE
? Tergantung pada perilaku apa yang Anda butuhkan, saya kira.
HOME=/dev/null vim -u NONE
:?