Czy istnieje polecenie cofnięcia ostatniej operacji wykonanej w trybie wstawiania?
Właśnie wkleiłem tekst z niewłaściwego rejestru <C-r>
i mam dwie opcje:
- Usuń ręcznie to, co właśnie wkleiłem i zacznij od nowa.
- Przełącz się do trybu normalnego, uderzaj
u
i gubię tekst, który wpisałem przed uderzeniem<C-r>
.
Czy jest lepszy sposób?
insert-mode
undo-redo
zool
źródło
źródło
<C-O>u
a wyświetlaniem wyniku na ekranie jest dość długie opóźnienie (około 4 sekund), masz pomysł, jak się go pozbyć?:help i_CTRL-G_u
.Z trybu wstawiania:
Jeśli wklejony tekst jest mniejszy niż jedna linia (co sugeruje drugi punkt), po prostu naciśnij,
<C-u>
aby usunąć wszystkie znaki przed kursorem w bieżącej linii.Jeśli wklejony tekst jest więcej niż jeden wiersz, Twój 2-te rozwiązanie będzie działać lepiej, dostosowuje się w następujący sposób:
<C-o>u
.Oba powyższe punkty zaczną się i pozostaną - lub zakończą - w trybie wstawiania; w rzeczywistości są takie same z proponowanymi przez Ciebie rozwiązaniami, po prostu skrócone :)
źródło
Możesz spróbować
<C-w>
(usuwa słowo po lewej stronie) lub<C-u>
(usuń znaki przed kursorem po jednokrotnym naciśnięciu, usuwa łamanie linii po drugim naciśnięciu). Zobacz:help i_CTRL-W
i:help i_CTRL-U
.Jeśli dużo wkleisz z rejestru, cofnięcie zmian jest oczywiście szybsze, możesz w tym celu użyć trybu wstawiania-normalnego
<C-o>
(wykonaj jedno polecenie w trybie normalnym, a następnie wróć do trybu wstawiania).Zasadniczo pomocne jest dzielenie edycji na małe części, często wracając do trybu normalnego, aby mieć drobnoziarniste możliwości cofania.
źródło