VIM: Jak uzyskać ostatnią użytą komendę ex?

10

Czasami piszę naprawdę długie polecenie trybu ex, które robi wiele rzeczy. Są to rodzaj „mini-skryptów”, które piszę w edytorze tekstu, a następnie uruchamiam tryb ex i kopiuję je do linii ex i wykonuję. Ale potem zawsze kończę edycję w trybie ex, a potem trudno mi odzyskać zmiany wprowadzone w trybie ex z powrotem do sesji edycji tekstu.

Jak za pomocą klawiatury skopiować ostatnie użyte polecenie ex i wkleić je do edytora tekstu?

(Uwaga: Jest to coś w rodzaju przeciwieństwa tego pytania „ jak skopiować / wkleić w trybie vim ex ”, w którym użytkownik pyta „jak skopiować z edytora tekstu i wkleić do trybu ex?”. Moje pytanie brzmi odwrotnie, ponieważ chcę skopiować z trybu ex i wkleić do mojego edytora tekstu).

Trevor Boyd Smith
źródło
Mam kludge, który to robi ... ale wymaga myszy, aby wybrać ... rozwijane menu gvim do skopiowania ... a jeśli linia ex ma dwie linie, pasta ma nową linię, która jest denerwująca. (ale bardziej denerwujący jest fakt, że używam myszy i GUI do kopiowania / wklejania ...).
Trevor Boyd Smith

Odpowiedzi:

16

:Rejestr zawiera ostatni: -polecenie (komenda ex), które prowadził, więc może po prostu wpisać polecenie ":p(z podwójnym cudzysłowem), aby wkleić ten rejestr do bieżącego bufora. Widzieć:

:help registers
:help ":

Zauważ, że istnieją rejestry ostatniego wyszukiwania, nazwy bieżącego bufora itp.

Heptyt
źródło
17

Wypróbuj q:polecenie. (To dwa znaki, pierwsze qi wtedy :). Jest to normalny tryb poleceń, które otwierają historię ex-polecenia w specjalnym buforze Vima. Możesz przejrzeć historię, szarpać, jak chcesz, i / lub edytować wiersz i nacisnąć <enter>go, aby go wykonać.

Herbert Sitz
źródło
Uważaj tylko, by nie pisać :qzamiast tego, co pamięć na mięśnie próbuje na mnie narzucić!
frabjous
7
q:działa z trybu normalnego. Jeśli jesteś już w trybie wiersza polecenia (ex), wpisz Ctrl-F, aby otworzyć okno wiersza polecenia.
garyjohn
Hmm .... Ctrl + F nie robi nic, ale wypisuje „^ F” w moim wierszu poleceń ex-mode. Czy brakuje mi jakiegoś magicznego sosu?
Stabledog