2011-08-17 14 views

Respuesta

15

También puede utilizar la forma más simple:

:%s/.*/& = C.& 
+0

Impresionante. Corrección leve: ':% s /.*/& = C. & /'. Acaba de agregar el cierre '/'. – mpettis

+0

@mpettis no es necesario en absoluto si no tiene banderas :-D Es seguramente más completo, pero lo dejé aquí por brevedad – sidyll

+0

Necesito algo como esto para líneas múltiples: '% string%' into 'string =% string% ' –

1

Seleccione el texto, a continuación, pulse : y escriba

s/\(.*\)/\1 = C.\1/ 
5

Tipo esto:

:%s/\(.*\)/\1 = c.\1/g 

Desglose:

  • % - trabajo en todas las líneas
  • \(.*\) - captura todos los personajes de un grupo ("grupo 1")
  • s/PATTERN/REPLACEMENT/g - hacer una sustitución de cadenas
  • \1 en el patrón de sustitución - referirse al grupo emparejado
+0

no necesita ni '^' ni '$'. –

+0

@yi_H: buen punto – orip

+0

Dependiendo de si el contenido que se va a duplicar se encuentra realmente al principio de la línea, puede ser útil rellenar '\ s * \ zs' justo después del primer'/'para que el espacio en blanco inicial es preservado –

Cuestiones relacionadas