다음을 치면 일치 항목을 나열하고 싶습니다.
/example
모든 경기가 한 번에 어디에 있는지 볼 수 있습니다.
답변
" put in your ~/.vimrc file
" START search related configs and helps
"
" ignore case when searching
set ignorecase
" search as characters are entered, as you type in more characters, the search is refined
set incsearch
" highlight matches, in normal mode try typing * or even g* when cursor on string
set hlsearch
" yank those cheat commands, in normal mode type q: than p to paste in the opened cmdline
" how-to search for a string recursively
" :grep! "\<doLogErrorMsg\>" . -r
"
" how-to search recursively , omit log and git files
" :vimgrep /srch/ `find . -type f \| grep -v .git \| grep -v .log`
" :vimgrep /srch/ `find . -type f -name '*.pm' -o -name '*.pl'`
"
" how-to search for the "srch" from the current dir recursively in the shell
" vim -c ':vimgrep /srch/ `find . -type f \| grep -v .git \| grep -v .log`'
"
" how-to highlight the after the search the searchable string
" in normmal mode press g* when the cursor is on a matched string
" how-to jump between the search matches - open the quick fix window by
" :copen 22
" how-to to close the quick fix window
" :ccl
" F5 will find the next occurrence after vimgrep
map <F5> :cp!<CR>
" F6 will find the previous occurrence after vimgrep
map <F6> :cn!<CR>
" F8 search for word under the cursor recursively , :copen , to close -> :ccl
nnoremap <F8> :grep! "\<<cword>\>" . -r<CR>:copen 33<CR>
" omit a dir from all searches to perform globally
set wildignore+=**/node_modules/**
" use perl regexes - src: http://andrewradev.com/2011/05/08/vim-regexes/
noremap / /\v
"
" STOP search related configs and helps
답변
:g//p
더 긴 형태 :
:global/regular-expression/print
패턴 / 정규식을 생략 할 수 있으며 Vim은 이전 검색어를 재사용합니다.
하찮은 일이 : 그렙 도구는이 명령 시퀀스의 이름을 따서 명명되었다.
답변
다음을 수행 할 수도 있습니다.
g/pattern/#
원하는 패턴과 줄 번호를 인쇄합니다.
답변
이 목록을보고 경기 사이를 빠르게 이동하려면
:vimgrep example %
또는
:grep example %
이렇게하면 “오류 목록”이 모든 일치 항목으로 채워 :copen
지므로 빠른 수정 버퍼에 모두 나열하는 데 사용할 수 있고 특정 줄에서 Enter 키를 눌러 해당 일치 항목 으로 이동 하거나 :cn
및 같은 명령을 사용 :cp
하여 앞뒤로 이동할 수 있습니다.
자세한 설명 은 비슷한 질문에 대한 내 답변을 참조하십시오.
답변
방금 새로운 것을 배웠습니다 : Location List
!
입력 :lvim foo %
을 검색 foo
현재 파일과 포함 된 모든 일치 입력 foo
에 위치 목록을 . 평상시처럼 완전히 탐색 할 수있는 빠른 수정 창에서 위치 목록을 열려면
입력 :lopen
합니다. / to를
사용 하여 목록을 살펴 봅니다 ( 최상의 경험을 위해 tpope / unimpaired 매핑 사용 ).:lnext
:lprevious
답변
또 다른 가능성은 포함 파일 검색 명령을 사용하는 것입니다.
[I
그러면 커서 아래에있는 모든 단어가 나열됩니다. 현재 파일에 포함 된 모든 파일도 검색하므로 필요한 것보다 많을 수 있습니다.
그러나이 명령의 좋은 점은 검색 결과 디스플레이에 각 일치 항목의 행 번호와 함께 일치 항목 수도 표시된다는 것입니다.
:help include-search
많은 변형을 볼 수 있습니다.
에 대한 참고 사항
:g//p
이것은 더 줄일 수 있습니다
:g//
다른 사람들이 말했듯이 p (rint)가 기본 작업이기 때문입니다.
답변
quickfix
현재 검색 패턴과 일치 하는 멋진 창을 얻을 수 있습니다.
:vim // %
:copen
이전에 복잡한 검색 패턴을 만든 경우 매우 편리합니다. /pattern
편집 : 이것은 모든 열린 버퍼에서도 작동한다는 것을 알았습니다.
:bufdo vimgrepadd // %
:copen