Hal pertama yang ingin Anda lakukan adalah memulai Vim dengan pengaturan default:
vim -u NONE -U NONE -N
The -u NONE
mencegah Vim dari loading vimrc Anda, -U NONE
mencegah Vim dari loading gvimrc Anda, dan -N
memberitahu Vim untuk menggunakan no-kompatibel modus (ini tidak diperlukan, namun sebagian besar pengguna Vim tidak digunakan untuk "kompatibel" mode). Perhatikan bahwa NONE
yang diperlukan untuk berada di semua-caps.
Di Windows Anda dapat menambahkan flag-flag ini dengan membuat pintasan baru 1 .
Jika masalah tetap, maka Anda tahu itu bukan sesuatu di vimrc Anda.
Jika masalah hilang, Anda sekarang disebabkan oleh sesuatu di file vimrc Anda.
Itu bukan vimrc saya!
Hore! Pergi dan tanyakan pertanyaan Anda. Pastikan untuk menyebutkan bahwa Anda mencoba memulai Vim tanpa file vimrc!
Jadi ini vimrc saya, sekarang bagaimana?
Jika Anda belum melakukannya, Anda mungkin ingin menyimpan salinan cadangan file vimrc Anda terlebih dahulu.
Periksa plugins
Hal berikutnya yang mungkin ingin Anda lakukan adalah menonaktifkan semua plugin terlebih dahulu; plugin dapat mengubah sedikit di Vim. Jika ini memperbaiki masalah, cobalah mencari tahu
plugin mana yang mengaktifkannya satu per satu. Setelah Anda mengetahui plugin mana yang menyebabkan masalah, Anda dapat mencoba & memperbaikinya dengan membaca dokumentasi plugin ini, dan / atau dengan mengajukan pertanyaan yang ditandai plugin-<name>
.
Jika itu tidak plugin, dan Anda tidak memiliki apa pun tahu apa yang menyebabkan masalah Anda, maka itu prosedur trial-and-error. Komentari satu atau lebih baris di vimrc Anda, mulai Vim, periksa apakah masalah terjadi, dan ulangi prosedur ini sampai masalah berhenti terjadi. Cara tercepat untuk melakukan ini adalah:
- Beri komentar (atau hapus) sekitar setengah file vimrc Anda.
- Mulai ulang Vim, atau buka Vim baru (memuat ulang vimrc tidak cukup baik, karena pengaturan tidak disetel).
- Apakah masalahnya sudah hilang? Pasang kembali bagian yang Anda hapus (menjaga Vim terbuka dan menggunakan undo berguna di sini) dan ulangi langkah 1 pada bagian yang Anda tambahkan kembali.
- Apakah masalah masih terjadi? Lanjutkan ke langkah 1.
Pada akhirnya Anda harus memiliki satu opsi atau kombinasi beberapa opsi yang menyebabkan masalah Anda. Anda dapat mengetahui lebih lanjut tentang opsi apa pun di Vim dengan menggunakan:
:help 'option_name'
Kutipan itu penting di sini, biasanya berfungsi tanpa mereka, tetapi kadang-kadang Anda berakhir di halaman yang salah jika Anda menghilangkannya.
Jika Anda masih bingung setelah membaca halaman bantuan, Anda tahu harus bertanya di mana ;-)
Melakukan debugging satu plugin
Jika Anda ingin mengisolasi satu plugin, mungkin untuk mengajukan pertanyaan tentangnya, Anda ingin memuat sesedikit mungkin tetapi masih memuat plugin; Anda dapat dengan mudah melakukan ini dengan fitur paket Vim. Ini membutuhkan Vim 8 atau versi Neovim yang cukup baru.
Buat direktori kosong baru; kami akan menggunakan ~/plugin
jalur dalam contoh ini. Sekarang letakkan plugin di pack/plugins/start/$name
direktori biasa . Sebagai contoh:
git clone https://github.com/fatih/vim-go.git ~/plugin/pack/plugins/start/vim-go
Buat test-vimrc
file dengan konten berikut; ini akan memastikan bahwa Vim akan memuat plugin dari ~/plugin
direktori dan tidak yang ~/.vim
direktori:
set nocompatible
set packpath=~/plugin,/usr/share/vim/vimfiles,/usr/share/vim/vim80,/usr/share/vim/vimfiles/after,~/plugin/after
packloadall!
syntax on
filetype plugin indent on
Mulai Vim dengan:
vim -U NONE -u ~/test-vimrc
Anda sekarang memiliki vimrc minimal dengan hanya satu plugin ini.
Catatan kaki
1 Sebagai contoh: di 64 bit Windows, shortcut akan terlihat seperti ini: "C:\Program Files (x86)\Vim\vim74\vim.exe" -u NONE -U NONE -N
. Untuk membuatnya, klik kanan di File Explorer tempat Anda ingin pintasan, lalu pilih Baru -> Pintasan dan tempel teks pintasan. Anda mungkin perlu mengubah jalur Vim jika Vim Anda dipasang di lokasi lain.
-U NONE
jika sudah-u NONE
.Ada
-D
parameter Vim khusus untuk debugging yang akan masuk ke mode debugging setelah menjalankan perintah pertama dari skrip.Misalnya untuk menjalankan Vim dalam mode debug tanpa plugin, jalankan sebagai:
Ketik
n
/next
untuk menguraikan baris berikutnya dan terus menekan Enter.Dan
cont
atauq
untuk kembali kevim
antarmuka.Jika Anda menggunakan versi GUI, masukkan
gui
perintah di vimrc Anda untuk memulai proses debug tepat setelah perintah itu.Tekan Ctrl+ duntuk daftar perintah yang tersedia
Baca lebih lajut:
:help debug-scripts
sumber
Seperti yang telah disebutkan, cobalah terlebih dahulu
vim -u NONE -U NONE -N
untuk memastikan vim vanilla Anda berfungsi dengan baik.Kemudian mulai vim secara normal dan periksa
dari dalam vim setelah masalah, yang akan menampilkan semua peringatan dan kesalahan.
Akhirnya mulailah vim dengan perintah berikut
yang akan membuat file log dipanggil
logfile.log
,-V9
adalah tingkat logging dan mencoba mereproduksi masalah Anda.sumber
Satu lagi tip: seperti manusia gua kelihatannya, saya suka menambahkan: echom "message" ke .vimrc saya untuk melihat apa yang dieksekusi dan apa yang tidak.
Sebagai contoh
Ini membantu saya dengan cepat melihat apakah blok jika sedang dieksekusi, dll. Pesan akan dicetak pada konsol saat Anda memulai vim.
sumber
echom
perintah lain yang menarik adalah:messages
untuk mendapatkan log lengkap dari pesan yang digaungkan. Kadang-kadang bisa berguna untuk melihatnya setelah startup.Satu hal yang saya temukan membantu adalah menjaga koleksi variabel yang mengubah bagian Anda
.vimrc
sehingga Anda dapat menonaktifkan atau mengaktifkan bagiannya tanpa harus berkomentar. Ini juga memiliki efek samping yang menyenangkan memaksa Anda untuk berpikir tentang organisasi Anda.vimrc
.Berikut adalah contoh bagian yang dijaga oleh
if
:sumber
Waktu pemuatan vimrc saya sangat lambat, sekitar 400 ms, dan saya menguranginya menjadi 20 ms hanya dengan menghapus baris ini:
Pastikan Anda tidak memiliki panggilan ke perintah eksternal seperti itu.
sumber
Ini adalah prosedur sederhana untuk memulai.
:source %
atau:so $MYVIMRC
sumber