Uwaga: Zakładam, że używasz a
rejestru do całej odpowiedzi, ale możesz użyć dowolnego rejestru
Uwaga 2: <1b>
jest Esc; możesz to wstawić za pomocą, Ctrl+va następnie Esc. Może się również pojawiać jako ^[
(w zależności od display
ustawienia).
To nie jest mapowanie; więc ma sens, że :map
to nie działa. Jest rejestrowany w rejestrze i można go wyświetlać i edytować jak każdy rejestr.
Wszystko, co qrobi, to „wyczyść rejestr i dołącz do niego każde naciśnięcie klawisza” , a wszystko, co @zrobi, to „oceń rejestr jako polecenia” .
W makrze nie ma nic „innego”, możesz wywołać dowolny rejestr jako makro.
Aby wyświetlić, użyj:
:echo @a
Tak jak każdy rejestr.
Możesz także użyć :registers
do przeglądania wszystkich rejestrów.
Aby edytować , możesz zrobić kilka rzeczy:
Najprostszym sposobem na przypisanie @a
tego jest:
:let @a='iasd<1b>'
Spowoduje to uruchomienie trybu wstawiania ( i
), wstawiania asd
i powrotu do normalnego trybu.
Nie jest to bardzo przydatne w przypadku obszernej edycji; możesz użyć funkcji (np. substitute()
), a może dodać coś ( :let @a=@a . 'more'
), ale zmiana czegoś w środku nie jest taka łatwa.
Przekonałem się, że najlepszym sposobem na to jest uruchomienie nowego bufora za pomocą :split
lub :tabnew
i edycja rejestru poprzez włożenie go, edycję, a następnie skopiowanie z powrotem.
Możesz użyć, "apktóry wstawi tekst do bufora (gdzie a
jest twój rejestr):
iThis is A<1b>
Teraz mogę po prostu zmienić linię na:
iThis is an edited macro<1b>
Następnie robię, ^v$"ayaby szarpnąć (skopiować) ten wiersz do a
rejestru:
- ^ na początek linii
- v dla trybu wizualnego
- $ na koniec linii
- "ay wybierz opcję rejestracji
a
Jeśli chcesz, możesz to zrobić bez użycia trybu wizualnego z ^"ay$.
Możesz teraz używać @a, jakby to było to, co pierwotnie nagrałeś.
Możesz także użyć yy, a następnie @", co jest nieco szybsze. Spowoduje to również skopiowanie końcowego nowego wiersza i może powodować skutki uboczne ... Innym sposobem na przyspieszenie tego jest użycie makra :-)
Enter
na końcu swojego nagrania. W wielu przypadkach może to być łagodne, ale w scenariuszach, w których starannie dobrałeś pozycję kursora na końcu nagrania, może to wpłynąć na powtarzalność.