Ini file - ChipBooter.cpp
- di proyek saya (Abaikan beberapa detail yang tidak terkait dengan pertanyaan ini):
class ChipBooter {
public:
void Boot() {
this->DpDetect();
}
void DpDetect() {}
}
Ketika saya menekan g<C-]>
untuk melompat ke definisi DpDetect
, Vim menampilkan daftar dengan tag yang cocok duplikat:
# pri kind tag file
1 F C f DpDetect OMU/src/boot/src/ChipBooter.cpp
class:ChipBooter
void ChipBooter::DpDetect()
2 F C f DpDetect OMU/src/boot/src/ChipBooter.cpp
class:ChipBooter
void ChipBooter::DpDetect()
Ini definisi yang sama!
Masalah ini terjadi setiap kali saya menekan g<C-]>
dan selalu menggandakan panjang daftar.
Keterangan lebih lanjut
Versi riang Ctags: 5.8
. Versi Vim adalah7.3
Berikut ini adalah representasi visual dari hierarki direktori saya:
Source
`---tags
|
`---OMU
`---src
`---boot
`---src
`---ChipBooter.cpp
Saya berlari ctags -R
di Source
mana berisi OMU
direktori untuk menghasilkan tags
file.
Saya meluncurkan vim menggunakan vim -u NONE -N
; .vimrc
dan plugin dinonaktifkan.
Hanya ada satu entri tentang DpDetect
dalam tags
file:
DpDetect OMU/src/boot/src/ChipBooter.cpp /^void ChipBooter::DpDetect()$/;" f class:ChipBooter
tags
adalah nilai default, karena .vimrc
dinonaktifkan.
:set tags?
tags=./tags,./TAGS,tags,TAGS
Memperbarui
@romainl berkata Vim tampaknya menggunakan kedua file tag tersebut : tags
dan TAGS
.
:echo tagfiles()
['tags', 'TAGS']
Jika saya mengubah tags
opsi untuk mengecualikan file TAGS ( :set tags=./tags,tags
), masalah tag duplikat tidak ada.
Di mana TAGS
file itu? Hanya ada tags
file di direktori proyek saya.
$ find {My project root directory} -iname tags
./tags
tags
dan TAGS
. Apakah Anda memiliki TAGS
file /home/yufeng/mount/svncode/omu/zycp/Source/
? Mungkinkah itu masalah sensitivitas kasus?
tags
file dan kemudian meminta TAGS
file. FS peka huruf besar kecil akan menjawab ya untuk kedua pertanyaan, memaksa Vim mencari dua kali dalam file yang sama dengan berpikir ada dua, sedangkan FS peka huruf kecil akan menjawab ya hanya untuk pertanyaan pertama.
:echo tagfiles()
?