Ein VIM-Plugin zur Verbesserung der Projektsuche bei der Verwendung von Tools wie ag und rg.
Ich wurde von der Fähigkeit von fzf.vim inspiriert :Ag
schnell mehrere Wörter ohne Anführungszeichen zu durchsuchen, mehrere Ergebnisse in Echtzeit mit erweiterter Suchsyntax einzugrenzen und dann Quickfix für einen großen Refaktor zu füllen?
:Ag function index
Aber mir fehlte die Möglichkeit, Befehlszeilenoptionen zu übergeben, wie ich es mit :Ack
? von ack.vim könnte.
:Ack -Q -i 'function index' vendor
Darüber hinaus behandelt :Ag
von fzf.vim Anführungszeichen als wörtlichen Teil der Suchabfrage, was nicht mit ag
in der Befehlszeile übereinstimmt.
Daher besteht die Absicht dieses Plugins darin, das Beste aus beiden Welten in Ihren bevorzugten Such-Wrapper zu integrieren. Führen Sie Mehrwortsuchen mit oder ohne Anführungszeichen durch, übergeben Sie Befehlszeilenoptionen und erledigen Sie alles mit einem Befehl.
Lesen Sie mehr über meinen Projektsuchworkflow mit fzf.vim und Landwirtschaft ❤️
Installieren Sie mit vim-plug oder ähnlichem:
Plug 'jesseleite/vim-agriculture'
Wenn Sie fzf.vim bereits verwenden, können Sie die bereitgestellten :AgRaw
/ :RgRaw
-Befehle verwenden.
:AgRaw func.*index
:AgRaw 'func.*index'
:AgRaw -Q 'function index()' app/Http/Controllers
Ebenso ersetzen Sie für :RgRaw
in den obigen Beispielen einfach AgRaw
durch RgRaw
.
Wenn Sie einen anderen Such-Wrapper verwenden, müssen Sie Ihre Eingabe mit agriculture#smart_quote_input()
umschließen.
Wenn Sie einen der bereitgestellten Befehle verwenden, können Sie sich in die bereitgestellten <Plug>
-Zuordnungen in Ihrer .vimrc
einbinden:
nmap <Leader>/ <Plug>AgRawSearch
vmap <Leader>/ <Plug>AgRawVisualSelection
nmap <Leader>* <Plug>AgRawWordUnderCursor
Ebenso ersetzen Sie für :RgRaw
in den obigen Beispielen einfach AgRaw
durch RgRaw
.
Wenn Sie einen der bereitgestellten Befehle verwenden, können Sie auch Standardbefehlszeilenoptionen in Ihrer .vimrc
festlegen:
let g:agriculture#ag_options = '--case-sensitive'
Nochmals ebenso für :RgRaw
mit g:agriculture#rg_options
.
Wenn Sie einen der bereitgestellten Befehle verwenden und Smart Quoting für die CLI-Konsistenz deaktivieren möchten:
let g:agriculture#disable_smart_quoting = 1
Vorschaufenster werden jetzt in vielen fzf.vim-Befehlen standardmäßig gerendert. Wenn Sie dieses Verhalten anpassen oder deaktivieren möchten, lesen Sie die Dokumentation von fzf.vim zu Vorschaufenstern.
Ihre Eingabe wird automatisch zitiert, es sei denn, die folgenden Bedingungen sind erfüllt:
: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: Wenn Sie Anführungszeichen und Bindestriche verwenden oder einen Pfad übergeben müssen, empfiehlt es sich, Ihr eigenes Muster zu zitieren/escapen, und vim-agriculture bleibt Ihnen aus dem Weg?
Nur ein Hack?