2011-01-13 13 views

Odpowiedz

11

użyć trybu blokowego wizualnej (Ctrl - v), aby wybrać kolumna chcesz, a następnie uderzył i wpisz znaki, które chcesz, a następnie uderzył Esc

Więc w tym przypadku, można by umieścić kursor na A , Uderzył Ctrl - v, zejść do D, uderzył I i rodzaj int (będzie ona wyświetlana tylko na pierwszej linii podczas wpisywania go), a następnie uderzył Esc w którym momencie to będzie zastosuj tę wstawkę do wszystkich wizualnie wybranych fragmentów.

Działa to w dowolnym miejscu dokumentu, na początku linii lub na końcu linii.

:he v_b_I uzyskać więcej informacji o programie Visual bloku Wstawienie

+1

To będzie działać dla pustych linii tylko wtedy, gdy 'virtualedit' nie jest pusty. – Benoit

+0

+1, ponieważ jest to najbardziej ogólne rozwiązanie. W celu dołączenia patrz ': help v_b_A' zamiast' v_b_I' –

+0

Ciekawe, że 'wizualny blok' jest inny niż' tryb wizualny' –

2

Globalna substytut powinien zrobić I:

:%s/.\+/int & =/ 

Oto jak działa: w drugiej części substytucji (tj. w int & =) ampersand jest zastępowany przez to, co zostało obrobione w pierwszej części (.*). Ponieważ .* dopasowuje całą linię, każda linia jest podliczana zgodnie z oczekiwaniami.

Jeśli masz puste linie (w których nie chcesz mieć żadnych zamienników), można przejść z

:%s/^\S\+$/int & =/ 
+0

Nie powinno to być $ 0^ –

+0

0 USD? To jest dla Perla lub C++ (TR1) – Benoit

+0

$ 0 jest prawdopodobnie w innym języku opartym na wyrażeniach regularnych. –

7

Można to zrobić:

:%s/^/at the beginning/ 
:%s/$/at the end/ 
4

:%s/.\+/int & =

+ nie będzie pasował na pustych liniach

2

Jeśli chcesz skopiować tylko pierwsze słowo, a następnie:

:%s/^\w\+/int & =/g 

Jeśli chcesz zachować wcięcie, a następnie wykonaj:

:%s/^\(\s*\)\(\w\+\)/\1int \2 =/g 
Powiązane problemy