problema ctags quando as tags de geração para .h e C arquivo em dois diretório diferente
Pergunta
Agora eu tenho dois diretório, todos os arquivos de cabeçalho * .h estão incluídos no diretório / inc, enquanto todos arquivo c * .c são armazenados no diretório / src.
O diretório como este, (/ projeto é um diretório de nível para cima):
/project-- |----/inc
|----/src
Eu quero usar ctrl +] para localizar definição de um parâmetro ou uma função em um arquivo de origem como example.c. Como gerar essas tags?
Meu método é:
(1) cd to the /project directory
(2) ctags inc/*.h src/*.c
Em seguida, um arquivo de tags é gerado lá, no entanto, quando eu abrir um arquivo de exemplo e usando "Ctrl +]", ele não pode me levar a sua definição. Por que ???
Eu preciso gerar um arquivo de tags em / src ???
Qualquer ajuda? Muito obrigado!
Solução
No vim, tente digitando:
-
:pwd
-
:set tags
Verifique se o caminho para o tagfile está presente na saída de 2, relativo ao caminho que é a saída do 1.
NOTA:. Você pode definir a variável tags
como parte de sua .vimrc
locais
UPDATE: É comum conjunto tags
para um padrão como tags,../tags,../../tags
. Com este padrão, vim usará o primeiro arquivo de tags que ele encontra sua estrutura de pastas (mais uma vez em relação ao seu pwd
).
Outras dicas
Go to / projeto e usar o comando "ctags -R". Em seu .vimrc, colocar os "tags set / tags = / projeto" comando. Saia vim e inseri-lo novamente. Etiquetas agora deve funcionar.