Hal yang lucu sedang terjadi pada saya vim
: Saya membuat beberapa perubahan pada pengguna ~/.vimrc
untuk menyesuaikan garis status dengan fungsi sederhana (perubahan dibuat pada beberapa simpanan sementara saya memperbaiki kode) dan sekarang kode itu dimuat tanpa masalah jika saya dijalankan vim FILE
dari baris perintah tetapi karena alasan tertentu memuat versi sebelumnya .vimrc
(yaitu, versi yang sebelumnya disimpan) ketika saya menjalankan sudo visudo
atau menjalankan vim
dari GUI (menu aplikasi).
Sangat aneh.
Saya bisa melihat ini karena memberikan kesalahan sintaksis dalam fungsi itu karena tidak ada let
yang saya perbaiki dalam versi final dan memuat baik untuk pengguna dari shell tetapi tidak untuk pengguna ketika dijalankan dari GUI atau ketika menggunakan di sudo
mana versi dari kode dengan kesalahan sintaks dimuat saat startup.
Saya mencoba menyalin pengguna .vimrc
untuk /root
dan aku berlari grep -rI "functionName" ~
tapi tidak membantu.
Lucunya, ketika di dalam vim
dengan baris status yang rusak, jika saya menggunakannya :e $MYVIMRC
memuat yang benar sehingga saya juga dapat menggunakan :source $MYVIMRC
dan semuanya kemudian terlihat baik-baik saja (yaitu, baris status berfungsi, dan kesalahan sintaks hilang) .
Adakah dugaan mengapa pada saat vim
startup, dalam dua situasi (dan mungkin lebih), menggunakan versi sebelumnya?
Jawaban:
Ketika saya mendengar "konfigurasi lama", saya akan curiga sebagai berikut:
:mksession
) termasuk konfigurasi lama dan secara otomatis dikembalikan (sepertinya tidak terjadi di sini):help startup
)Saya akan memeriksa
:scriptnames
sesi root yang rusak terlebih dahulu. Ini harus memberi tahu yang mana~/.vimrc
yang diambil, dan apakah ada konfigurasi (alternatif) lainnya yang dimuat secara keliru juga. Jika itu tidak menawarkan petunjuk, Anda dapat mengambil log lengkap dari sesi Vim denganvim -V20vimlog
(mungkin diawali dengansudo
dalam kasus Anda, sehingga masalah terjadi). Setelah berhenti Vim, periksavimlog
file log, dan mungkin tambahkan komentar ke~/.vimrc
sehingga Anda dapat membedakan berbagai versi file.sumber