Befehle :bufdound: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 ]qund [qfä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 historyund :h cmdline-window.
Sie können den wiederverwendbaren Befehl :copenfolgendermaßen hinzufügen, um die Quickfix-Liste sofort anzuzeigen:
:execute "bufdo vimgrepadd // %" | copen
Der Vorschlag von stackoverflow hat :bufdo vimgrepadd // % | copenin meinem Fall mehrere unbeabsichtigte Fenster geöffnet.