Плагин vim для улучшения поиска проектов при использовании таких инструментов, как ag и rg.
Меня вдохновила способность fzf.vim быстро :Ag
искать по нескольким словам без кавычек, сужать несколько результатов в реальном времени с помощью расширенного синтаксиса поиска, а затем заполнять быстрое исправление для большого рефакторинга.
:Ag function index
Но мне не хватало возможности передавать параметры командной строки, как это было с ack.vim :Ack
?
:Ack -Q -i 'function index' vendor
Более того, :Ag
в fzf.vim рассматривает кавычки как буквальную часть поискового запроса, что несовместимо с 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()
.
Если вы используете одну из предоставленных команд, вы можете подключиться к предоставленным сопоставлениям <Plug>
в вашем .vimrc
:
nmap <Leader>/ <Plug>AgRawSearch
vmap <Leader>/ <Plug>AgRawVisualSelection
nmap <Leader>* <Plug>AgRawWordUnderCursor
Аналогично и для :RgRaw
, просто замените AgRaw
на RgRaw
в приведенных выше примерах.
Если вы используете одну из предоставленных команд, вы также можете установить параметры командной строки по умолчанию в вашем .vimrc
:
let g:agriculture#ag_options = '--case-sensitive'
Аналогично для :RgRaw
с g:agriculture#rg_options
.
Если вы используете одну из предоставленных команд и хотите отключить интеллектуальное цитирование для обеспечения согласованности 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
TL;DR: Если вы используете кавычки, тире или вам нужно передать путь, рекомендуется заключить в кавычки/экранировать свой собственный шаблон, и vim-agricultural не будет мешать вам?
Просто хак?