Saya di folder E:\dir\python_file.py
, :pwd
menunjukkan E:\dir
. :e tags
membuka file tag yang saya buat ctags -R
.
Saya sudah tags
siap dengan apa yang tampaknya masuk akal: set tags?
pertunjukan set tags=./tags,tags;E:\
. Verbose set tags
hanya menunjukkan vimrc saya.
Menggunakan :tag method_name
lemparan dua kesalahan: E433: No tags file
dan E426: tag not found: method_name
.
Saya di Windows.
gvim -u NONE -U NONE
telah berfungsi dengan baik, jadi saya hanya perlu plugin melakukan sesuatu yang aneh.Jawaban:
wildignore
memiliki koma tertinggal.Vmrc saya memiliki
set wildignore=*.png,
koma yang tertinggal. Mengubahnya memangset wildignore=*.png
memecahkan masalah saya.Ternyata, setelah melihat
:set
sebentar, ituftplugin/python.vim
ada diset wildignore+=*.pyc
suatu tempat, karenaset wildignore=*.png,
tidak cukup untuk memecahkan tag. Jadi tanda liar yang saya miliki, setelah saya membuka file .py, adalahwildcard=*.png,,*.pyc
, dan jika Anda membuka vimvim -u NONE -U NONE
, tag akan pecah.Vim harus melakukan penggabungan menambahkan koma jika pengaturan tidak kosong, tetapi tidak memeriksa koma trailing yang ada. Pikir saya baru saja menemukan bug.
Ternyata itu adalah bug, dan sejak itu telah diatasi .
sumber
set wildignore=*.png,
tidak cukup untuk menyebabkan ini, jadi mungkin parsing terjebak dengan koma trailing?+=
pada pengaturan yang merupakan daftar yang dipisahkan koma, itu akan selalu menambahkan koma kecuali itu kosong karena Anda mencoba menambahkan sesuatu ke daftar. Menggunakan koma yang ada akan menghapus item kosong. Yang mungkin tidak terduga. (:help :set+=
) (Namun item kosong yang mengabaikan semuanya bisa menjadi bug)