2011-02-24 3 views
2

현재 헤더와 구현 파일간에 교환하기 위해 A.vim 플러그인을 사용합니다. 이 스크립트의 제한 사항은 두 폴더가 모두 같은 폴더에있는 경우에만 작동한다는 것입니다.cscope를 사용하여 헤더 파일과 구현 파일 사이를 전환하는 Vim 스크립트

코드에 대한 cscope 데이터베이스가있는 경우 :cscope find f ImplementationFileName.h을 수행하여 특정 구현 파일의 헤더를 쉽게 찾을 수 있습니다.

확장명이없는 현재 파일 이름을 사용하고 추가 된 .h 접미사가있는 이름을 검색하려면 어떻게 스크립팅 하시겠습니까?

+0

cscope 요구 사항 없음 : http://stackoverflow.com/questions/17170902/in-vim-how-to-switch-quickly-between-h-and-cpp-files-with-the-same-name –

답변

3

A.vim을 사용하여 즉시 사용할 수 있어야합니다. 체크 아웃 : help alternate-config. 특히 검색 경로 섹션 :

b)의 ​​검색 경로 : 소스 파일의 위치와 해당 헤더 파일은 항상하지 같은 디렉토리입니다 많은 프로젝트에서. 이 플러그인 은 사용하는 검색 경로가 인 소스 및 헤더 파일의 위치를 ​​ 으로 지정할 수 있습니다. 검색 경로는 g : alternateSearchPath 변수를 설정하여 으로 지정됩니다. 다음과 같이 기본 설정은

g:alternateSearchPath = 'sfr:../source,sfr:../src,sfr:../include,sfr:../inc'

이 해당 파일이 ../source, ../src에서 검색 할 것을 나타냅니다이다. ../include 및 ../inc는 모두 현재 파일을 기준으로 전환됩니다. g : alternateSearchPath 변수의 값은 이며 쉼표로 구분 된 접두사와 디렉토리가 인 목록입니다. "sfr :" 접두사는 파일에 상대적인 경로가 임을 나타냅니다. 다른 접두어 은 "wdr :"이며 디렉토리는 현재 작업 디렉토리와 관련이 있고 "abs :"은 경로가 절대 경로임을 나타냅니다. 접두사가 지정되지 않은 경우 "sfr :"이 사용됩니다.

+0

멋진 팁. cscope 접근 방식의 장점은 포함 파일의 위치가 중요하지 않다는 것입니다. 때로는 작동하지 않는 이유는이 특정 프로젝트가 비표준 위치에 파일을 포함하기 때문입니다. g : alternateSearchPath에 프로젝트 별 경로를 추가하는 대신 내 cscope 인덱스로 폴백하는 것이 좋습니다. –

관련 문제