Ctrl-P를 사용하여 프로젝트의 모든 파일에 대한 파일 내용을 대화식으로 검색하는 방법은 무엇입니까?


15

오늘 프로젝트의 모든 파일을 검색하려고했습니다. Ctrl-P를 사용 하여 다음과 같이 줄을 검색합니다.

스크린 샷

그러나 검색 결과는 이전에 열린 파일에서만 가능합니다. 여기서 만 열립니다 main.php.

모든 파일을 하나씩 열지 않고도 모든 파일을 검색하는 방법을 알고 있습니까?

감사,


1
이것도 내가 원하는 것입니다. ack 또는 ag를 사용하는 경우 성능에 문제가 없어야합니다. 또한 neovim을 사용하는 경우 비동기식이어야하므로 블록이 없어야합니다.
mhartington

마지막으로 ag를 ctrlp 명령으로 사용합니다 :)
nobe4

답변:


13

:CtrlPLine 실제로 나열된 버퍼에서 작동해야합니다.

당신이 경우 절대적으로 프로젝트의 모든 파일에이 기능을 사용하려면, 당신은 같은과 (따라서 버퍼 목록) 인수 목록에 추가 할 수 있습니다 :

:argadd **/*.php

그러나 성능상의 이유로 매우 좋은 생각은 아닙니다.

:vimgrep:grep에게 훨씬 잘 사용 하거나 들리는 소리 :

:vim foo **/*.php
:cw

CtrlP의 "퍼지"를 잃어 버릴 수도 있지만 그에 대한 신뢰와 유연성을 얻을 수 있습니다.

참고:

:help :argadd
:help :vimgrep
:help :grep
:help :cwindow
:help quickfix

CtrlP와 vim-grep의 주요 차이점은 CtrlP는 대화식 입니다.
ideasman42

1

당신은 그 플러그인 Sidesearch 또는 fzf를 사용해야합니다

둘 다 silversearch-ag를 사용하여 재귀 디렉토리에서 검색 할 수 있습니다.

fzf를 사용하면 문자열이 포함 된 나열된 파일을 검색 할 수 있습니다.


1
안녕하세요 @MisterBanal, 우리 사이트에 오신 것을 환영합니다! OP가 요청 한대로 이러한 플러그인을 CtrlP와 인터페이스 할 수 있다면 정확한 대답이 필요합니다. 그들이 인터페이스 할 수 있다면 어떻게 그리고 어떻게 할 수 없는지를 설명해야합니다. 적어도 그것을 사용하는 방법에 대한 기본적인 예를 제시해야합니다. 그렇지 않으면 대답이 실제로 질문에 대답하지 않습니다. 텍스트 아래의 "수정"버튼을 사용하여 답변을 변경할 수 있습니다.
statox
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.