ag 및 rg와 같은 도구를 사용할 때 프로젝트 검색 환경을 개선하는 vim 플러그인입니다.
저는 fzf.vim의 빠른 기능에 영감을 받았습니다 :Ag
따옴표 없이 여러 단어를 검색하고 확장된 검색 구문을 사용하여 실시간으로 여러 결과의 범위를 좁힌 다음 대규모 리팩터링을 위해 빠른 수정을 채웁니다.
:Ag function index
하지만 ack.vim의 :Ack
?와 같은 명령줄 옵션을 전달하는 기능이 없다는 것을 깨달았습니다.
:Ack -Q -i 'function index' vendor
게다가, fzf.vim의 :Ag
따옴표를 검색 쿼리의 문자 그대로의 부분으로 취급하는데, 이는 명령줄의 ag
와 일치하지 않습니다.
따라서 이 플러그인의 목적은 두 세계의 장점을 귀하가 선호하는 검색 래퍼에 제공하는 것입니다. 따옴표가 있거나 없는 여러 단어 검색을 수행하고 명령줄 옵션을 전달하는 등 모든 작업을 하나의 명령으로 수행합니다.
fzf.vim과 농업을 사용한 내 프로젝트 검색 작업 흐름에 대해 자세히 알아보세요 ❤️
vim-plug 또는 이와 유사한 것을 사용하여 설치하십시오.
Plug 'jesseleite/vim-agriculture'
이미 fzf.vim을 사용하고 있다면 제공된 :AgRaw
/ :RgRaw
명령을 사용할 수 있습니다.
:AgRaw func.*index
:AgRaw 'func.*index'
:AgRaw -Q 'function index()' app/Http/Controllers
마찬가지로 :RgRaw
의 경우 위 예에서 AgRaw
RgRaw
로 대체하면 됩니다.
다른 검색 래퍼를 사용하는 경우 입력을 agriculture#smart_quote_input()
으로 래핑해야 합니다.
제공된 명령 중 하나를 사용하는 경우 .vimrc
에서 제공된 <Plug>
매핑에 연결할 수 있습니다.
nmap <Leader>/ <Plug>AgRawSearch
vmap <Leader>/ <Plug>AgRawVisualSelection
nmap <Leader>* <Plug>AgRawWordUnderCursor
마찬가지로 :RgRaw
의 경우 위 예에서 AgRaw
RgRaw
로 대체하면 됩니다.
제공된 명령 중 하나를 사용하는 경우 .vimrc
에서 기본 명령줄 옵션을 설정할 수도 있습니다.
let g:agriculture#ag_options = '--case-sensitive'
g:agriculture#rg_options
사용하는 : :RgRaw
의 경우에도 마찬가지입니다.
제공된 명령 중 하나를 사용 중이고 CLI 일관성을 위해 스마트 인용을 비활성화하려는 경우:
let g:agriculture#disable_smart_quoting = 1
이제 많은 fzf.vim 명령에서 미리보기 창이 기본적으로 렌더링됩니다. 이 동작을 사용자 정의하거나 비활성화하려면 fzf.vim의 미리보기 창 문서를 참조하세요.
다음 조건이 충족되지 않으면 입력 내용이 자동으로 인용됩니다.
:Ag -Q "Already quoted this pattern."
:Ag Why you "scruffy looking nerf herder"!
:Ag Who's scruffy looking?
:Ag -Q function index
:Ag Which way to the beach? -> that way!
:Ag an escaped pattern vendor/folder
요약: 따옴표, 대시를 사용하거나 경로를 전달해야 하는 경우 고유한 패턴을 인용하거나 이스케이프하는 것이 좋습니다. 그러면 vim-agriculture가 방해가 되지 않습니다.
그냥 해킹?