Usted podría funcionar vimgrep continuación, grabar una macro que va a cada línea en la salida vimgrep y hace lo sustituya, algo como esto: (! No te tipo dentro de los # comentarios)
:set autowrite #automatically save the file when we change buffers
:vimgrep /pattern/ ./**/files
qa #start recording macro in register a
:s/pattern/replace/g #replace on the current line
:cnext #go to next matching line
q #stop recording
[email protected] #repeat the macro 10000 times, or until stopped by
#an "error" such as reaching the end of the list
:set noautowrite
No he probado así que puede necesitar un pequeño ajuste: pruébelo en algunos archivos para que no le importe que lo arruinen primero.
La ventaja de este exceso de sed es que Vim regex son más potentes, y puede agregar la opción c a: s para verificar cada reemplazo.
Editar: Modifiqué mi publicación original porque era incorrecta. Estaba usando: 1vimgrep para encontrar la primera coincidencia en cada archivo, pero leí mal los documentos, solo encuentra una coincidencia en todos los archivos.
[Aquí] (http: // stackoverflow.com/a/13944042/834176) es una forma de buscar y reemplazar recursivamente, pero solo en archivos bajo control de versión (podría generalizarse fácilmente si realmente desea buscar * todos * archivos bajo un directorio). –