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?
ihello<ESC>:w hello.txt<ENTER>
ctrl-[
działa jako substytut klawisza Esc na wielu klawiaturach.Odpowiedzi:
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
-y
argumentem lub jakoevim
, a może masz:set insertmode
gdzieś w swojej.vimrc
konfiguracji. Znajdź źródło i wyłącz je; tymczasowo można to również zrobić za pomocą Ctrl+ O:set noim
Enter.źródło
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.
źródło
Wspomniano o tym w innych pytaniach , ale ctrl + [jest to odpowiednik ESCna wszystkich klawiaturach.
źródło
Za pomocą
jj
W moim przypadku ustawienie .vimrc (lub w gVimie jest w
_vimrc
) poniżej.źródło
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.źródło
U mnie problem polegał na tym, że byłem w trybie nagrywania . Aby wyjść z trybu nagrywania, naciśnij q. Wtedy Esczadziałał zgodnie z oczekiwaniami dla mnie.
źródło
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.
źródło
Możesz użyć Alt + H, J, K, L, aby przesunąć kursor w trybie wstawiania.
źródło