Odpowiedzi:
Wykonuję następujące czynności, aby dołączyć tekst do wielu wierszy:
<c-V>
- Wejdź w tryb Visual Block.j
/, k
aby wybrać linie.$
- Przesuń kursor do ostatniego znaku.A
- Wejdź w tryb wstawiania po ostatnim znaku.<Esc>
- Wyjdź z trybu wstawiania i dołącz blok kończący.W porównaniu do pisania :norm
po selekcji jest jeszcze mniej naciśnięć klawiszy, ale prawdziwym powodem, dla którego go używam, jest to, że bardziej instynktownie pracuję w trybie Visual Block dla tego typu zmian.
W pierwszym wierszu po prostu wpisz:
4:norm A.
4
i :
utwórz zakres dla siebie, a następnie norm A.
dodaje kropkę do każdej linii
Innym rozwiązaniem dla dłuższych akapitów może być:
Vip<C-v>$A.<Esc>
Pierwszym krokiem jest wybranie akapitu, a Vip
następnie przejście do trybu bloku wizualnego i przesunięcie kursora na koniec każdej linii, $
następnie dodanie .
do każdej linii za pomocą A.
i przejście do trybu normalnego z, <Esc>
aby zobaczyć zmianę zastosowaną do każdej linii .
:A
polecenie? Nie znalazłem tego za pośrednictwem:h :A
4:norm A.
byłoby4:s/$/.
Najpierw możesz je wizualnie zaznaczyć za pomocą, V
a następnie użyć klawiszy ruchu, aby zaznaczyć cały tekst (lub jeśli tekst był ściśle akapitem, który możesz zrobić [zaczynając od pierwszego wiersza] V}
). A potem wpisz :
. Powinno to przywołać coś :'<,'>
z wiersza poleceń.
:'<'>normal A.
Wykonuje normal A.
się na wybranych liniach. normal A.
wykonuje się A.
jak naciśnięcia klawiszy w trybie normalnym. Spowoduje to A
wysunięcie znaku .
na końcu każdej z wybranych linii.
Jeśli chcesz dodać kropkę na końcu wszystkich linii:
:%norm A.
lub możesz użyć wyszukiwania i zastąpić:
:%s/$/./
% to cały plik, $ to koniec wiersza
:1,4s/$/./
który zastępuje ostatni znak kropką w wierszach od pierwszego do czwartego włącznie.
Aby było trochę bardziej ogólne, możesz zarejestrować makro w jednym wierszu, a następnie odtworzyć je w każdym wierszu w wybranym wizualnie zakresie.
Zapisz makro do rejestru (rejestr q w tym przykładzie):
qqA.<Esc>q
Następnie możesz wizualnie wybrać linie, na których chcesz operować:
Vip
Następnie odtwórz makro w każdej linii (zakres zostanie automatycznie wypełniony):
:'<,'>norm @q