Jak przełączać się między trybami poleceń i wstawiania w Vimie?


88

Właśnie zacząłem używać Vima jako IDE. Używałem go przez jakiś czas jako edytor testów, więc nie musiałem często przechodzić do trybu poleceń. Ale ponieważ programuję w Javie, muszę przejść do trybu poleceń, aby utworzyć plik, skompilować / uruchomić go ... itd.

Problem w tym, że potrzebuję dobrego sposobu przełączania się między tymi dwoma trybami.

Poszukałem w Internecie i jest napisane, że <Esc>klucz ma to zrobić, ale to nie działa dla mnie (może to nie jest dla gVima? Nie wiem dlaczego).

Muszę naciskać za CTRLOkażdym razem, aby przejść do trybu poleceń; klawisz Escape działa w tym trybie ... przenosi mnie z powrotem do trybu wstawiania. Ale czy istnieje lepszy lub łatwiejszy sposób przełączania się między trybem poleceń a trybem wstawiania?


2
Esc to zdecydowanie właściwy klawisz do zakończenia wstawiania. Wstawkę można uruchomić na różne sposoby. Małe litery i, aby rozpocząć wstawianie w miejscu kursora, wielkie litery I, aby rozpocząć wstawianie na początku wiersza, itd.
— Vaughn Cato

Zaczynając od pustego pliku, następujące znaki powinny dać plik ze słowem „cześć”: ihello<ESC>:w hello.txt<ENTER>
— Vaughn Cato

8
ctrl-[działa jako substytut klawisza Esc na wielu klawiaturach.
— Vaughn Cato

Odpowiedzi:


52

Wygląda na to, że Twój Vim został uruchomiony w trybie łatwym . Zobacz :help easy.

Dzieje się tak, gdy Vim jest wywoływany z -yargumentem lub jako evim, a może masz :set insertmodegdzieś w swojej .vimrckonfiguracji. Znajdź źródło i wyłącz je; tymczasowo można to również zrobić za pomocą Ctrl+ O :set noim Enter.


Myślę, że to było to. Miałem włączony tryb wstawiania w moim pliku. Po usunięciu klawisz Escape działa idealnie. Dzięki!
— Ravish Chawla

8
to jest łatwy tryb !?
— Stachu

5
Tryb prosty Vim, teraz to oksymoron. Czy w tym miejscu można wyjść z Vima?
— Davos

1
@Davos to jest tryb, w którym jest uruchamiany w trybie wstawiania, więc jak na ironię jest to tryb, w którym nie można wyjść z vim: p "tryb normalny" jest o wiele łatwiejszy, po prostu alt + :, x XD
— Fuseteam

115

Naciśnięcie powoduje ESCwyjście z trybu wstawiania do trybu normalnego, w którym można nacisnąć, :aby wpisać polecenie. Naciśnij iponownie, aby powrócić do trybu wstawiania i gotowe.

Nie jestem guru Vim, więc ktoś inny może być bardziej doświadczony i dać ci inne możliwości.


3
Dla większości z nas, ale zaakceptowana odpowiedź zawierała odpowiedź na konkretny problem.
— Saul Axel Martinez Ortiz

21

Wspomniano o tym w innych pytaniach , ale ctrl + [jest to odpowiednik ESCna wszystkich klawiaturach.


Nigdy tego nie wiedziałem, przydatne, gdy klawisz Escape nie jest obsługiwany
— shuva

Wow, dzięki za te informacje! Kopiowanie sekwencji klawiszy Tmux ma teraz znacznie więcej sensu.
— Thomas Legris

4

Za pomocą jj

W moim przypadku ustawienie .vimrc (lub w gVimie jest w _vimrc) poniżej.

inoremap jj <Esc>   """ jj key is <Esc> setting

Jest to typowe mapowanie. Uważam, że ma niewielkie opóźnienie, ponieważ czeka na wprowadzenie dodatkowych znaków. Alternatywnie, przemapuj swój klucz Capslock na esc, używając czegoś takiego jak KeyRemap4MacBook na Macbooku
— Koobz

Łatwiej było mi
— zmienić przypisanie

3

Pochodząc z emacsa odkryłem, że lubię ctrl +klawisze do robienia różnych rzeczy, aw vimie stwierdziłem, że oba [ctrl + C]i [alt + backspace]wejdą w tryb normalny z trybu wstawiania. Możesz spróbować i sprawdzić, czy któryś z nich zadziała.



0

Jest jeszcze jedno rozwiązanie tego rodzaju problemu, który, jak sądzę, jest raczej rzadki i możesz go doświadczyć, jeśli używasz vima na OS X Sierra. Właściwie to problem z przyciskiem Esc - nie z vimem. Na przykład nie mogłem wyjść z pełnoekranowego wideo na youtube za pomocą Esc, ale żyłem z tym przez kilka miesięcy, dopóki nie doświadczyłem tego samego problemu z vimem.

Znalazłem to rozwiązanie. Jeśli jesteś wystarczająco leniwy, aby skorzystać z zewnętrznego łącza, pomogło wyłączenie Siri i zabicie procesu w Monitorze aktywności.


0

Możesz użyć Alt + H, J, K, L, aby przesunąć kursor w trybie wstawiania.


1
Nie, nie możesz. To prawdopodobnie zmiana Twojej konfiguracji.
— Saul Axel Martinez Ortiz

@SaulAxelMartinezOrtiz tak, ale technicznie wychodzi z trybu normalnego, po czym można się poruszać w trybie normalnym: p
— Fuseteam
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.