2013-01-23 5 views
2

Vim에서 파일을 찾기 위해 최근 다음을 발견했습니다.vim에서 파일 찾기 : Explore와의 부분 파일 이름 일치 방법 **/*

:Explore **/[pattern] 

파일을 찾는 것이 나에게는 매우 중요하며, 8 년 동안 파일을 찾지 못했다고는 믿을 수 없습니다. 나는이 신사가 말씀하신 것을 관련 될 수 : http://vim.wikia.com/wiki/Find_files_in_subdirectories 나는 사람들의 TextMate에서 파일을 검색 및 수치 :(내 머리를 중지해야 볼

그래서 사용하여 내가 파일을 검색 할 수있어 위, . "이론"하지만 출력이 나를 당황 종종 일치하지 않는 파일이 나는 레일 예를 사용합니다 예를 들어

이 일을 :.

Explore **/envir* 

이, 어떤 무리를 산출 이상한 파일 :

../ 
deploy/ 
environments/ 
initializers/ 
locales/ 
.DS_Store 
application.rb 
authorization_rules.rb 
boot.rb 
config.yml 
database.yml 
deploy.rb 
development.sphinx.conf 
environment.rb 
production.sphinx.conf 
routes.rb 
sphinx.yml 
staging.sphinx.conf 
test.sphinx.conf 

최소한 사용 가능합니다. 아래로 스크롤하여 environment.rb를 열고 열 수 있습니다.

하지만 모든 도우미 목록을 찾고 싶습니다. 나는 이것을 생각할 것이다 :

Explore **/*help* 

작동하지만 파일을 찾을 수 없습니다.

누군가 나를 밝힐 수 있습니까?

답변

3

Ctrl-P.vim 플러그인을 보았습니까? https://github.com/kien/ctrlp.vim

이 플러그인은 사용자가 표시 한 것과 비슷한 방식으로 파일을 찾습니다.

+1

+1 for CtrlP. TextMate에서 사람들이 사용하는 것이 command-t 옵션입니다. CommandT라는 Vim 플러그인이있어 퍼지 파일 찾기 기능을 제공하지만 더 이상 유지 관리되지 않습니다. CtrlP는 새로운 인기이며 행복하게 만들 수 있습니다. –

3

아니요, :Ex[plore] **/foo*입니다.

위의 CtrlP는 프로젝트 및 기타 멋진 파일을 찾을 수있게 해주는 몇 가지 제한 사항에도 불구하고 광범위하게 사용되는 아름다움입니다. FuzzyFinderCommand-T은 가치있는 대안이며 LustyExplorer도 있습니다. 분명히 많은 다른 것들이 있습니다.

그러나 빔은 혼자서도 꽤 할 수 있습니다. 여기서는 wildmenu 옵션이 중요합니다. 그냥 ~/.vimrc이 두 줄을 추가

위의 설정으로
set wildmenu   " see :h 'wildmenu' 
set wildmode=list:full " see :h 'wildmode' for all the possible values 

다음 명령은 당신이 쉽고 상대적으로 직관적으로 탐색 할 수 있습니다 일치의 정확한 목록을 보여줍니다.

:e **/foo*<Tab>  " see :h starstar 

"작업 디렉토리"가 프로젝트 디렉토리로 설정된 경우,이 명령을 사용하면 좋은 결과를 얻을 수 있습니다. 그것은 매우 섹시하지 않습니다 (나는 그것을 좋아하지 만)하지만 매우 효과적이고 신뢰할 수 있습니다. 물론이 방법은 :sp, :vs 또는 :tabe과 함께 사용할 수 있습니다.

:find 명령은 심지어 더 적합하며 아마도 path 옵션에 정의 된 디렉토리를 조사합니다.세션의 시작 부분에 :set path=/path/to/project 당신은 당신의 프로젝트의 모든 파일을 열 수 있습니다

:find foo<tab>   " see :h :find 

깔끔한.

"args"를 사용할 수도 있습니다. 일부 패턴과 일치하는 모든 파일을 "인수 목록"에 추가하고 버퍼 탐색 명령을 사용합니다.

:argadd ./**/*.js  " see :h arglist 
:sb foo<tab> 

약간 지저분 할 수 있습니다.

전반적으로 Vim에서 파일 탐색을 처리하는 여러 가지 우아한 방법이 있습니다 (그리고 나는 심지어 tags 기반 탐색을 언급하지 않았습니다!). 플러그인은 여러 가지 탐색 요구에 맞는 훌륭한 통합 UI를 제공 할 수 있지만 효율적으로 파일을 찾는 데 필요하지는 않습니다. 조금도.

TextMate와 Sublime Text의 퍼지 검색 구현은 실제로 Vim 플러그인이나 Vim의 buit-in 파일 처리에 해당하지 않는 현재 "프로젝트"로만 제한됩니다.

+0

재귀 파일 이름에': find ./**/foo '을 입력해야합니다. –

+0

@ WillemD'haeseleer no,': find'는 재귀 적입니다 :': find foo ' foo'와': find * foo '는'foo'를 가진 모든 파일을 그 이름의 어딘가에서 찾을 것입니다. – romainl

+0

나는 vim 7.4를 사용하고 있는데': foo '을 찾았고': find ./**/foo '과 일치하는 파일을 보면 1 개의 디렉토리가 깊다. 잘못하고있는거야? –

0

원하는 경우 간단합니다. 유형 기능을 찾고 탭 자동 완성과 일치하는 부분 파일 이름을 사용하면 find-complete 플러그인이 좋습니다.

관련 문제