Comandos :bufdoy:vimgrepadd
Esta respuesta se basa en /programming//a/11976158/1057593 .
Sin embargo, quería agregar algunos bits. De nuevo, el comando básico es
:bufdo vimgrepadd pattern %
Si su lista de soluciones rápidas no está vacía, probablemente quiera borrarla primero (consulte /programming//q/27385970/1057593 ). Esto se puede hacer con
:cexpr []
vim-unimpaired proporciona las asignaciones ]qy [qpara recorrer las coincidencias.
cmdline-history
Es un buen flujo de trabajo ingresar el patrón de búsqueda por separado /pattern. Esto le permite utilizar un comando genérico de su historial de línea de comandos utilizando el patrón de búsqueda actual. Esto se vería como
/pattern
:bufdo vimgrepadd // %
Una nueva búsqueda típica de todo el búfer sería
/pattern2
:bufdo<up><up>...
He agregado las siguientes asignaciones a mi vimrc para usar <C-N>y en <C-P>lugar de las teclas de flecha
cmap <C-P> <Up>
cmap <C-N> <Down>
Para buscar en el historial de comandos q:, utilice /bufdo<CR>e invoque un comando con <CR>. Para obtener más detalles, consulte https://vim.fandom.com/wiki/Using_command-line_history y las páginas de ayuda :h historyy :h cmdline-window.
Puede agregar al comando reutilizable :copenpara ver inmediatamente la lista de soluciones rápidas de la siguiente manera:
:execute "bufdo vimgrepadd // %" | copen
La propuesta de stackoverflow :bufdo vimgrepadd // % | copenabrió varias ventanas no deseadas en mi caso.