2014-10-02 2 views
1

편집을 위해 Vim (Linux)에서 파일을 열려고 할 때 Tab 키를 누르면 Vim은 파일 이름 만 현재 디렉토리에서 자동 완성합니다. 그러나 웹에서 검색 한 결과, Vim은 검색 경로의 모든 디렉토리에서 파일 이름을 사용하여 bash와 유사한 파일 이름 자동 완성을 지원해야한다고 생각합니다.Vim 탭에서 파일 이름 완성이 작동하지 않습니다.

디렉토리 dir1 (환경 변수 PATH에도 있음)에 file1 파일이 있습니다.

나는 빔에서 다음 명령을 입력 한 후

set path=/dir1 
set wildmode=list:longest 

와, 내가 입력 할 때 :

:e fil<TAB> 

파일 이름이 자동 완성되지 않습니다. Vim에서이 기능을 사용하려면 어떻게해야하나요?

답변

6

탭 완성. 당신은 단지 그것이 실제로하기로되어 있지 않은 일을 기대합니다.

:e[dit]와 그 형제 자매 (:sp[lit], :vs[plit], :tabe[dit])은 상관없이 당신이 가진 빔의 버전, 전혀 path 옵션을 사용하지 않습니다.

  • 대신 사용 :fin[d] fil<Tab> (및 :sf[ind], :vert sf[ind], :tabf[ind]).

  • set path=/dir1/**을 사용하면 :find을 재귀 적으로 만들 수 있습니다.

:help 'path':help :find을 참조하십시오.

편집

그것은 일반적으로 프로젝트의 루트에서 빔을 시작하는 "좋은 습관"으로 간주됩니다

:

$ cd /path/to/project 
$ vim somefile 

가장 큰 장점은 그것이 정력의 "현재 디렉토리"를 설정한다는 것 프로젝트를 비교적 쉽게 탐색하거나 프로젝트의 외부 프로그램을 깨끗하고 직관적 인 방식으로 사용할 수있는 유용한 가치. 그런데

, 난 단지 파일 탐색을위한 :find (및 형제 자매)를 사용하고 내가 공유 할 수있는 몇 가지 팁이 있습니다 내 편집을 참조

" sets 'path' to: 
" - the directory of the current file 
" - every subdirectory of the "current directory" 
set path=.,** 

" enables the wildmenu 
set wildmenu 

" ignore specific directories and files 
set wildignore+=*.min.* 

" case-insensitive search 
set wildignorecase 
+0

영업 이익. – romainl

+0

편집 할 때 각 파일의 디렉토리를 내 경로에 추가하는 것을 좋아합니다. 관련 파일을 빨리 검색하려면 경로의 시작 부분에 경로를 추가하십시오. 나는 태그 파일에 대해 동일한 작업을 수행한다. 나는 그것에 대해 wiki 페이지를 만들었다 고 생각했지만 지금은 찾을 수 없다. – Ben

+0

@Ben, 위키 페이지를 찾지 못했다면 워크 플로우에서 좀 더 자세히 설명해 주시겠습니까? – romainl

관련 문제