2009-10-20 10 views

Odpowiedz

80

Polecenie:

:%s/^/foo:/

... wstawia foo: na początku każdej linii.

Dla zakresu można wykorzystać numery linia:

:10,20s/^/foo:/

... zrobi to za linią 10 do 20.

Mój preferowany sposób to zrobić dla wielu linii to: przesuń kursor do pierwszej linii zakresu, a następnie wprowadź ma, aby ustawić znacznik a w bieżącej linii. Przejście do końca zakresu i wprowadzić

:'a,.s/^/foo:/
+18

Inną dobrą, bardziej interaktywną metodą jest użycie trybu bloków wizualnych (ctrl-V), aby wybrać pierwszą kolumnę, a następnie "I" wstawić - wpisz, czego potrzebujesz, naciśnij escape, a zostanie dodany do wszystkich linii. To oczywiście działa w dowolnej kolumnie, a nie tylko w pierwszej, a możesz też użyć 'A' do dołączenia lub' c' lub 'd'. – Cascabel

+0

Err .... Hefromi: dlaczego nie udzieliłeś tej odpowiedzi? Ten jest dobry. Lub mogło być. – innaM

+0

@Jefromi: Powinieneś uczynić swój komentarz odpowiedzią, ctrl-V jest łatwiejszy w użyciu niż ': s'. –

-2

Można użyć macros.

+1

Możesz, ale naprawdę nie powinieneś. – innaM

27

stałem się znacznie bardziej przyzwyczajeni do korzystania bloki wizualnych dla tego rodzaju rzeczy:

  • przejść na początek pierwszej linii w swoim przedziale (gg na pierwszej linii, ^ aby przejść na początek)
  • <C-V>
  • Przenieś w dół do ostatniego wiersza w swoim przedziale
  • Ifoo<ESC>

To wstawiłoby foo na początku każdej linii.

+0

To bardzo pomogło! –

Powiązane problemy