2011-08-17 8 views

Odpowiedz

15

Można również użyć prostszej formie:

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

Awesome. Niewielka poprawka: ':% s /.*/& = C. &. Właśnie dodano zamknięcie '/'. – mpettis

+0

@mpettis w ogóle nie jest potrzebna, jeśli nie masz flag :-D Jest to z pewnością bardziej kompletne, ale zostawiłem tutaj dla zwięzłości – sidyll

+0

Potrzebuję czegoś takiego dla wielu linii: '% string%' do 'string =% ciąg% ' –

1

Zaznacz tekst, a następnie naciśnij : i wpisz

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

Ten typ:

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

Podział:

  • % - prace na wszystkich liniach
  • \(.*\) - przechwytywania wszystkie postacie w grupie („Grupa 1”)
  • s/PATTERN/REPLACEMENT/g - zrobić podstawienie ciąg
  • \1 w strukturze wymiany - patrz dopasowanej grupie
+0

Nie potrzebujesz "^" lub "$". –

+0

@yi_H: dobry punkt – orip

+0

Zależnie od tego, czy treść, która ma być powielona, ​​jest rzeczywiście na początku wiersza, może być przydatny do wypychania '\ s * \ zs' tuż po pierwszym'/'tak, aby wiodący biały znak jest zachowany. –

Powiązane problemy