2012-04-16 2 views
0

소스 검색 (* .c, * .h) 코드 검색을 위해 Linux에서 vim과 함께 etags를 사용합니다. 내가주는 명령 BU 태그 파일을 만든 :.vimrc TAGS 명령 오류

etags --members *.c *.h 

태그 파일이 생성됩니다하지만 검색을 시작할 때 그 기능 중 하나에 정의되고 사용되는 C 구조 변수를 가지고 1.C라는 이름의 소스 파일 중 하나를 말한다 definitions (구조체 이름은 다른 1.h 파일의 typedef 임). vim에서 1.c 파일을 연 다음 해당 구조체 유형에 커서를 두어 을 수행합니다. etags는이 구조체의 선언이있는 헤더 파일 1.h를 탐색하지 않습니다.

이것은 내 .vimrc 아래 줄에있을 때만 발생합니다. 두 줄 아래에 주석을 달면 etags 기반 소스 탐색이 정상적으로 작동합니다.

set TAGS=./TAGS;$HOME 
set tags=./tags;$HOME 

나는 TAGS 파일의 위치를 ​​vim에 알려 주려고합니다. 현재 폴더에서 내 집에 도착할 때까지. 여기서 잘못된 것은 무엇입니까?

위의 명령에 대한 올바른 구문은 무엇입니까?

또한 vim을 사용하여 ctags/etags를 탐색하면 모든 주어진 함수가 호출 된 위치에서 표시됩니까? 예인 경우 해당 명령을 무엇입니까?

답변

1
  • 위치 태그

    빔의 설정이 너무 set TAGS=가 유효하지 않은 경우를 구분 파일. 소문자로 set tags=을 사용해야합니다. 당신이 정말 tagsTAGS에서 태그를 검색 할 기대할 수 있도록 빔이 첫 경기에서 중단됩니다

    .

    set tags=./tags,./TAGS;$HOME " 1. tags, 2. TAGS, 3.… until $HOME 
    

    또한, 검색 etags에 의해 수행되지 않으며,이 빔 자체로 이루어집니다 :이 파일로 다시 검색 할 수 있습니다. 함수로 점프

  • 아니, ctagsetags에만 인덱스 선언을 호출합니다. 사용법으로 이동하려면 cscope