vim menggunakan versi vimrc sebelumnya dalam beberapa keadaan

1

Hal yang lucu sedang terjadi pada saya vim: Saya membuat beberapa perubahan pada pengguna ~/.vimrcuntuk 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 FILEdari baris perintah tetapi karena alasan tertentu memuat versi sebelumnya .vimrc(yaitu, versi yang sebelumnya disimpan) ketika saya menjalankan sudo visudoatau menjalankan vimdari GUI (menu aplikasi).

Sangat aneh.

Saya bisa melihat ini karena memberikan kesalahan sintaksis dalam fungsi itu karena tidak ada letyang saya perbaiki dalam versi final dan memuat baik untuk pengguna dari shell tetapi tidak untuk pengguna ketika dijalankan dari GUI atau ketika menggunakan di sudomana versi dari kode dengan kesalahan sintaks dimuat saat startup.

Saya mencoba menyalin pengguna .vimrcuntuk /rootdan aku berlari grep -rI "functionName" ~tapi tidak membantu.

Lucunya, ketika di dalam vimdengan baris status yang rusak, jika saya menggunakannya :e $MYVIMRCmemuat yang benar sehingga saya juga dapat menggunakan :source $MYVIMRCdan semuanya kemudian terlihat baik-baik saja (yaitu, baris status berfungsi, dan kesalahan sintaks hilang) .

Adakah dugaan mengapa pada saat vimstartup, dalam dua situasi (dan mungkin lebih), menggunakan versi sebelumnya?

Paolo
sumber
Jawaban oleh Ingo mendorong saya untuk memeriksa ulang tiga kode fungsi dan itu adalah masalah kesalahan lain dalam rangkaian if yang sedang berjalan tergantung pada file yang dibuka. Itu membantu banyak untuk pergi melalui vim log.
Paolo
komentar dihapus
Paolo

Jawaban:

2

Ketika saya mendengar "konfigurasi lama", saya akan curiga sebagai berikut:

  • symlink rusak / lupa menyalin konfigurasi pengguna ke root (ini khusus untuk kasus penggunaan Anda berjalan di bawah root)
  • sesi tersimpan ( :mksession) termasuk konfigurasi lama dan secara otomatis dikembalikan (sepertinya tidak terjadi di sini)
  • masalah lingkungan (Vim memiliki beberapa lokasi dan penggantian untuk mencari konfigurasi, sebagaimana dijelaskan oleh :help startup)

Saya akan memeriksa :scriptnamessesi root yang rusak terlebih dahulu. Ini harus memberi tahu yang mana ~/.vimrcyang 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 dengan vim -V20vimlog(mungkin diawali dengan sudodalam kasus Anda, sehingga masalah terjadi). Setelah berhenti Vim, periksa vimlogfile log, dan mungkin tambahkan komentar ke ~/.vimrcsehingga Anda dapat membedakan berbagai versi file.

Ingo Karkat
sumber