2010-03-15 19 views
6

por lovim: buscar sustituir más de todos los buffers de escritura

1GvG:s/..../g 

puede sustituir más de un buffer de toda

Sin embargo, supongamos que tengo varias memorias intermedias de vim cargados, y yo quiero hacer una: s sobre toda la almacenamientos intermedios que son escribibles; ¿Hay alguna manera de hacer esto en vim?

+2

Por cierto, puede hacer '% s' para todo el búfer. –

+0

¡Gracias por preguntar esto! Ha sido una pregunta persistente para mí (pero no demasiado fastidiosa o la hubiera pedido aquí también). –

Respuesta

12

Como no puedo dejar comentarios, repetiré lo que dijo Brian y agregaré 2 centavos.

Creo que el comando que estás buscando es:

:bufdo :%s/..../g | :w 

Nota: Esto escribirá cada archivo después de realizar los cambios, así que asegúrese de que esté listo para esto.

Si autowrite está activado, debería poder eliminar el "|: w" al final del comando.

+0

Bueno, al menos en mi vim (7.2, Ubuntu) es suficiente dejar el '| : w' fuera de la imagen si no desea escribir sobre el cambio. –

+1

Hay una página en la wiki de vim dedicada a este http://vim.wikia.com/wiki/Search_and_replace_in_multiple_buffers con más opciones con respecto al seguimiento '| : w' –

+1

@AdrianoVaroliPiazza Funciona de la caja sin el '| : w' en 'vim' pero se requiere para' vi'. –

4

Eche un vistazo a bufdo. También hay windo y tabdo. Tenga en cuenta que, por defecto, Vim no se autoescribe, por lo que para buscar/reemplazar comandos en el búfer, debe activar la escritura automática.

Cuestiones relacionadas