2013-05-19 2 views
0

예 : 파일이 있습니다. 이 메소드 호출을 갖는다는 a.pl :gim이 vim에서는 작동하지 않지만 ctrl +]가 작동하는 이유는 무엇입니까?

add_location(@crew);

실제 정의는 동일한 파일이다. 내가하면 : CTRL + ] 커서가 정의로 점프. 내가 할 경우 : gf 내가 얻을 : 나는 :pwd 할 경우
E447: Can't find file "add_location" in path

내가 현재 작업 디렉토리를 얻을. 불만 사항은 무엇입니까? 함수 정의가 동일한 파일에 있습니다.

답변

6

<C-]> 명령은 커서 아래 태그으로 이동합니다. 유효한 태그 데이터베이스 (예 : ctags 이전에 실행 한 것)가 있고 add_location이라는 태그가있는 것 같습니다.

gf 명령은 커서 아래 파일로 이동, 그것은 'path'에 의해 지정된 디렉토리에 그것을 위해 가능성 (:help 'suffixesadd' 참조) .pl 같은 접미사를 추가 (파일 이름으로 add_location을 취급하고 검색 즉.

기본적으로 작업에 잘못된 명령을 사용하고 있습니다 (<C-]>). 위치가 동일한 파일에있는 경우 * 명령을 사용하여 다음 일치 항목으로 이동할 수도 있습니다. 데이터베이스가 없으므로보다 강력한 <C-]> 명령을 사용할 수 없습니다.

+0

그래서 정의가 다른 파일에있는 경우에만'gf'가 작동한다는 것을 의미합니까? – Cratylus

+2

'gf'는 정의와 아무런 관련이 없으며 _file names_ 만 처리합니다. 'foo.txt'가 있으면 그 파일을 열 것입니다. 왜 똑같은 명령 두 개가 있어야합니까? 당신이 찾고있는 것은''입니다. –

+0

그래서'gf'는 정의가 포함 된 파일을 열 것입니까? 이것이 내가 생각하기에 – Cratylus

관련 문제