Befehle :bufdo
und:vimgrepadd
Diese Antwort basiert auf /programming//a/11976158/1057593 .
Ich wollte jedoch ein paar Bits hinzufügen. Wieder ist der grundlegende Befehl
:bufdo vimgrepadd pattern %
Wenn Ihre Quickfix-Liste nicht leer ist, möchten Sie sie wahrscheinlich zuerst löschen (siehe /programming//q/27385970/1057593 ). Dies kann mit erfolgen
:cexpr []
vim-unimpaired stellt die Mappings zur Verfügung ]q
und [q
fährt durch die Matches.
cmdline-history
Es ist ein guter Workflow, das Suchmuster separat mit einzugeben /pattern
. Auf diese Weise können Sie einen allgemeinen Befehl aus Ihrem Befehlszeilenverlauf unter Verwendung des aktuellen Suchmusters verwenden. Das würde so aussehen
/pattern
:bufdo vimgrepadd // %
Eine typische neue pufferweite Suche wäre
/pattern2
:bufdo<up><up>...
Ich habe meinem vimrc die folgenden Zuordnungen hinzugefügt, um <C-N>
und <C-P>
anstelle der Pfeiltasten zu verwenden
cmap <C-P> <Up>
cmap <C-N> <Down>
Um die Befehlshistorie Verwendung zu suchen q:
, dann /bufdo<CR>
und rufen Sie einen Befehl mit <CR>
. Weitere Informationen finden Sie unter https://vim.fandom.com/wiki/Using_command-line_history sowie auf den Hilfeseiten :h history
und :h cmdline-window
.
Sie können den wiederverwendbaren Befehl :copen
folgendermaßen hinzufügen, um die Quickfix-Liste sofort anzuzeigen:
:execute "bufdo vimgrepadd // %" | copen
Der Vorschlag von stackoverflow hat :bufdo vimgrepadd // % | copen
in meinem Fall mehrere unbeabsichtigte Fenster geöffnet.