Come faccio a passare dalla modalità di comando a quella di inserimento in Vim?


88

Ho appena iniziato a usare Vim come IDE. Lo stavo usando come editor di test da un po 'di tempo, quindi non dovevo andare in modalità di comando molto spesso. Ma, poiché programma in Java, devo andare in modalità comando per creare il file, compilarlo / eseguirlo ... ecc.

Il problema è: ho bisogno di un buon modo per passare da una modalità all'altra.

Ho cercato online e dice che la <Esc>chiave dovrebbe farlo, ma non funziona per me (forse non è per gVim? Non so perché).

Devo premere CTRLOogni volta per passare alla modalità di comando; il tasto Esc funziona da quella modalità ... mi riporta alla modalità di inserimento. Ma esiste un modo migliore o più semplice per passare dalla modalità di comando alla modalità di inserimento?


2
Esc è sicuramente la chiave giusta per finire un inserto. Un inserimento può essere avviato in vari modi. I minuscola per iniziare a inserire dal cursore, I maiuscola per iniziare a inserire all'inizio della riga, ecc.
Vaughn Cato

Partendo da un file vuoto, i seguenti caratteri dovrebbero darti un file con la parola "ciao": ihello<ESC>:w hello.txt<ENTER>
Vaughn Cato

8
ctrl-[funziona come un sostituto di Esc su molte tastiere.
Vaughn Cato

Risposte:


52

Sembra che il tuo Vim sia stato avviato in modalità facile . Vedi :help easy.

Questo accade quando Vim viene invocato con l' -yargomento o as evim, o forse hai un :set insertmodeda qualche parte nella tua .vimrcconfigurazione. Trova la fonte e disabilitala; temporaneamente questo può essere fatto anche tramite Ctrl+ O :set noim Enter.


Penso che sia stato così. Avevo abilitato la modalità di inserimento nel mio file. Dopo averlo rimosso, il tasto Esc funziona perfettamente. Grazie!
Ravish Chawla

8
questa è la modalità facile !?
Stachu

5
Vim easy mode, ora è un ossimoro. È lì che è possibile uscire da vim?
Davos

1
@Davos è la modalità in cui viene avviato in modalità di inserimento, quindi ironicamente è una modalità in cui non è possibile uscire da vim: p "modalità normale" è molto più semplice solo alt + :, x XD
Fuseteam

115

Premendo si ESCesce dalla modalità di inserimento alla modalità normale, in cui è possibile premere :per digitare un comando. Premi di inuovo per tornare alla modalità di inserimento e sei a posto.

Non sono un guru di Vim, quindi qualcun altro può essere più esperto e darti altre opzioni.


3
Per la maggior parte di noi, ma la risposta accettata aveva la risposta al problema specifico.
Saul Axel Martinez Ortiz

21

Questo è stato menzionato in altre domande , ma ctrl + [è equivalente a ESCsu tutte le tastiere.


Non l'ho mai saputo, utile quando la chiave di escape non è supportata
shuva

Wow, grazie per queste informazioni! Tmux copiare la sequenza di tasti ora ha molto più senso.
Thomas Legris

4

Utilizzando jj

Nel mio caso, l' _vimrcimpostazione .vimrc (o in gVim è in ) di seguito.

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

Questa è una rimappatura comune. Trovo che abbia un leggero ritardo in quanto attende l'immissione di caratteri aggiuntivi. In alternativa, rimappa la chiave Capslock per esc utilizzando qualcosa come KeyRemap4MacBook su un Macbook: github.com/tekezo/KeyRemap4MacBook
Koobz

ho trovato più facile rimappare la scheda per esc: 3
Fuseteam

3

Venendo da emacs ho scoperto che mi piacciono i ctrl +tasti per fare cose, e in vim ho scoperto che entrambi [ctrl + C]e [alt + backspace]entreranno in modalità normale dalla modalità di inserimento. Potresti provare a vedere se qualcuno di questi funziona per te.



0

C'è anche un'altra soluzione per questo tipo di problema, che è piuttosto raro, penso, e potresti riscontrarlo, se stai usando vim su OS X Sierra. In realtà, è un problema con il pulsante Esc, non con vim. Ad esempio, non sono stato in grado di uscire dal video a schermo intero su YouTube utilizzando Esc, ma ho vissuto con quello per alcuni mesi fino a quando non ho riscontrato lo stesso problema con vim.

Ho trovato questa soluzione. Se sei abbastanza pigro da seguire il link esterno, spegnere Siri e terminare il processo in Activity Monitor ha aiutato.


0

È possibile utilizzare Alt + H, J, K, L per spostare il cursore in modalità di inserimento.


1
No, non puoi. Questa è probabilmente una rimappatura della tua configurazione.
Saul Axel Martinez Ortiz

@SaulAxelMartinezOrtiz sì puoi, anche se tecnicamente esce dalla modalità normale dopodiché puoi muoverti in modalità normale: p
Fuseteam
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.