Estou na pasta E:\dir\python_file.py
, :pwd
mostra E:\dir
. :e tags
abre o arquivo de tags que eu gerei ctags -R
.
Eu tenho o tags
que parece razoável: set tags?
shows set tags=./tags,tags;E:\
. Detalhado set tags
mostra apenas o meu vimrc.
Usando :tag method_name
lança dois erros: E433: No tags file
e E426: tag not found: method_name
.
Estou no Windows.
gvim -u NONE -U NONE
está funcionando bem, então eu devo apenas ter um plugin fazendo algo estranho.Respostas:
wildignore
tinha uma vírgula à direita.Meu vimrc tinha
set wildignore=*.png,
uma vírgula à direita. Mudá-loset wildignore=*.png
resolveu meu problema.Acontece que, depois de olhar
:set
por um tempo, issoftplugin/python.vim
acontece emset wildignore+=*.pyc
algum lugar, porque simplesmenteset wildignore=*.png,
não é suficiente para quebrar as tags. Portanto, o sinal selvagem que eu tinha, depois de abrir um arquivo .py, erawildcard=*.png,,*.pyc
e, se você abrir o vimvim -u NONE -U NONE
, as tags serão quebradas.O Vim deve fazer alguma concatenação adicionando uma vírgula se a configuração não estiver vazia, mas não verificar se há uma vírgula à direita. Acho que acabei de encontrar um bug.
Acontece que foi um bug e, desde então, foi resolvido .
fonte
set wildignore=*.png,
não é suficiente para causar isso, então talvez a análise fique presa com qualquer vírgula à direita?+=
uma configuração em uma lista separada por vírgula, ela sempre adiciona uma vírgula, a menos que esteja vazia, pois você está tentando adicionar algo à lista. Usar a vírgula existente removeria o item vazio. O que provavelmente é inesperado. (:help :set+=
) (No entanto, o item vazio ignorando tudo poderia ser um bug)