test1
예를 들어 vim에서는 , test2
또는 test9
와 같은 이름을 검색할 수 있습니다 /\<test\d\>
. 나는 test<num>
이름에 해당 단어가 포함된 파일 이름을 찾는 것과 같은 "기능"을 원합니다 . 나는 이것을 시도했다:
하지만 보시다시피 작동하지 않습니다.
내 FZF 환경 변수는 다음과 같습니다.
$FZF_DEFAULT_COMMAND
rg --files --hidden --glob "!.git/*"
$FZF_DEFAULT_OPTS
--prompt=' ' --cycle --preview='bat {}' +i --bind=ctrl-j:preview-half-page-down,ctrl-k:preview-half-page-up
vim 및 sed에서 정규식 패턴을 사용하여 파일을 찾으려면 어떻게 해야 합니까?(이 파일에서 단어를 찾는 것이 가능합니까?)
답변1
fzf가 이것을 할 수 있는지 모르겠습니다. 하지만 ^
(다음으로 끝나야 함), $
(다음으로 끝나야 함), !
(포함하지 않아야 함) 과 같은 일부 특수 문자가 있습니다 . 파일 내에서 검색하는 경우 다음을 사용할 수 있습니다.
실버탐색자(ag)또는리그렙(rg):Ag
또는 명령을 사용하여 설치되었다고 가정합니다 .:Rg
각각 공백으로 구분된 여러 패턴을 추가하는 이점을 누릴 수도 있습니다. 예를 들어 ^core .py$ !test
"core"로 시작하고 ".py"로 끝나는 파일과 일치합니다. 'test'가 포함되어 있지 않습니다. 계속해서 더 많은 패턴을 추가하여 검색 결과 범위를 좁힐 수 있습니다.
답변2
허용된 답변 외에도 추가하고 싶습니다.검색 패턴의 공백도 중요합니다., 퍼지 검색 모드 매개변수를 분리하기 위해.
이 파일 트리가 있다고 가정해 보겠습니다. test.txt
각 디렉토리에는 및 파일이 있습니다 .test
temp/dir1/test.txt
temp/dir1/test
temp/dir2/test.txt
temp/dir2/test
temp/dir3/test.txt
temp/dir3/test
temp
경로 어딘가에 검색 패턴이 있는 위의 3개 파일을 모두 찾아보겠습니다 .그리고이름을 test
갖고 있고파일 확장자 없음:
기본 검색 모드에서 fzf
:
- 이 검색에서는 다음을 찾을 수 있습니다.파일 없음:
temp/test$
- 이 검색에서는 다음을 찾을 수 있습니다.6개 파일 모두:
temp/test
- 그러니 찾고 싶다면
test
확장자가 없는 파일 만, 당신은해야합니다검색 패턴에 공백을 추가하세요, 이와 같이! 이 검색에서는 다음을 찾을 수 있습니다.test
파일이 3개뿐이다파일 확장자가 없고temp
경로에서 더 높은 패턴이 있는 경우:temp /test$
두 퍼지 검색 패턴 사이에 공백( temp
및 )을 추가하면 /test$
큰 차이가 납니다!
이 검색에서는 다음 6개 파일도 모두 찾습니다.
temp /test
요약하면, test
확장자가 없는 파일 3개를 찾으려면 다음을 수행해야 합니다.퍼지 검색 매개변수를 구분하려면 공백을 사용하세요., $
"줄 끝"을 나타내기 위해 끝에 사용됩니다.
temp /test$
물론 퍼지 검색 매개변수 사이의 공백에 대한 동일한 요구 사항이 ^
"줄 시작" 검색 문자에도 적용됩니다. (이 예에서는 이를 잘 설명하지 못하지만 원리는 동일합니다.):
^temp /test