Vim에는 Grep 기능을 통합하고 구현하는 몇 가지 명령이 있습니다 ( :help grep
참조). 두 가지 주요한 것들은 :grep
과 :vimgrep
입니다. 이전 은 외부 Grep 프로그램 (grepprg
옵션으로 설정)을 사용하는 반면 후자는 Vim 자체에서 구현 된 핵심 Grep 기능을 사용합니다.
:vimgrep
의 주요 장점은 Vim 정규식 구문과 이식성이며 **
glob 와일드 카드를 포함합니다. :vimgrep
명령 은 확장 된 glob 패턴의 서브 세트를 이해합니다 (:help wildcard
참조). 이 은 대부분의 경우에 find
명령을 피할 수 있습니다. :vimgrep
을 사용하면 예제 검색은 다음과 같이 보입니다. 쉘 또는 grepprg
이 **
와일드 카드를 구현하는 경우
:vimgrep /something/ **/*
같은 검색, :grep
명령을 수행 할 수 있습니다. 다음은 Zsh 확장 된 글로브 표기법을 보여주는 예입니다.
:grep 'something' **/*(.)
이러한 명령 (및 변형)의 두
은 QuickFix 목록 및 윈도우 로컬 버전, 위치 목록 (
:help quickfix
참조)라고 빔 인터페이스 기능 을 사용합니다. QuickFix 창은 하나 또는 여러 개의 파일과 관련된 모든 검색 결과의 종류를 포함하는 특수 읽기 전용 버퍼입니다. 검색 결과 Grep 명령으로 수집 된 은 즉시 QuickFix 창에 집계됩니다.
QuickFix리스트 하여 한 줄을 검색 패턴의 각각의 정합 위치를 나타내며, 이러한 신속 라인 입력 눌러간에 전환 할 수있다. QuickFix 목록과 관련된 몇 가지 명령은 없습니다. 여기에 그 중 일부만 시작점으로 표시되어 있습니다 (자세한 내용은 도움을 참조).
:cw
또는 :cope
은 QuickFix 창을 (그들 사이의 차이를 이해하는 데 도움을 참조)을 엽니 다.
:cc
, :cn
, :cp
은 각각 현재 일치 항목, 다음 항목 및 이전 일치 항목을 목록에 표시합니다.
:cr
, :cla
목록의 첫 번째 일치 항목과 마지막 일치 항목은 각각 입니다.
:ccl
은 QuickFix 창을 닫습니다.
위치 목록은 특정 창에 첨부 된 QuickFix 목록입니다. 각 창 에는 하나의 위치 목록이 첨부되어있을 수 있습니다 (다른 창 위치 목록과 QuickFix 목록과 별도로). 위에 나열된 QuickFix 목록 명령 은 위치 목록과 동일한 기능을 수행합니다.
:lw
또는 :lop
현재 윈도우와 연관된 위치리스트를 연다.
:ll
, :lne
, :lp
은 각각 현재 일치 항목, 다음 항목 및 이전 일치 항목을 목록에 표시합니다.
:lr
, :lla
목록의 첫 번째 일치 항목과 마지막 일치 항목은 각각 입니다.
:lcl
은 위치 목록을 닫습니다. :grep
및 :vimgrep
명령
위치 목록 대응은 각각 :lgrep
및 :lvimgrep
이다.
어떻게 파일을 차례로 탐색 하시겠습니까? –
자세한 답변을 보내 주셔서 감사합니다. 매우 감사! 나는 구글을 사용하여 매뉴얼을 둘러 보았으나, 이것들을 이끌어 낼 수 없었다. 고맙습니다. –
@ Seenthil : 대개의 경우': cn',': cp' 명령 또는 QuickFix 목록 자체를 사용하여 대개 일치하는 항목을 탐색 할 수 있습니다. –