2012-07-16 23 views
5

¿Cómo puedo usar algo como esto?Use el comando: g en vim con acciones múltiples

:g/^$/kJ 

Aquí kJ son dos comandos, en lugar de sólo uno (como 'd')

Mi ejemplo concreto: Tengo varias líneas con este aspecto

queryBuilder 
    .append("xyz"); 

y quiero hacer que se vean como esta:

queryBuilder.append("xyz"); 

Así que lo que quiero hacer por cada línea es

:g/^[\t]*\..*$/kJx 

que coincide con el patrón correcto pero parece ejecutar solo k.

¿Hay otros comandos vim adecuados aquí? ¿Cómo realizarías esta tarea?

Respuesta

9

Añadir la instrucción normal para ejecutar todos ellos, como:

:g/^[\t]*\..*$/normal kJx 
+0

increíble! exactamente lo que necesitaba! ¿Qué hace 'normal' en realidad? – kadrian

+2

@ ka2011r: ': g' le permite ejecutar comandos' ex' (que comienzan con dos puntos), ': normal' es un comando' ex' que le permite ejecutar comandos normales, los que desea, 'k',' J 'y' x'. – Birei

Cuestiones relacionadas