2012-11-01 7 views
56

Ho appena iniziato a utilizzare Vim come IDE. Lo stavo usando come editor di test per un po 'di tempo, quindi non dovevo andare in modalità comando molto spesso. Ma, dal momento che programma in Java, devo andare in modalità comando per fare il file, compilarlo/eseguirlo ... ecc.Come faccio a passare tra il comando e la modalità di inserimento in Vim?

Il problema è: ho bisogno di un buon modo per passare tra le due modalità.

ho guardato on-line e si dice che la chiave <Esc> dovrebbe farlo, ma questo non funziona per me (forse non è per gVim? Io non so perché.)

devo premere CTRLO ogni volta per passare alla modalità comando; la chiave di escape funziona da quella modalità ... mi riporta alla modalità di inserimento. Ma c'è un modo migliore o più semplice per passare dalla modalità comando alla modalità inserimento?

+2

Esc è sicuramente la chiave giusta per terminare un inserto. Un inserto può essere avviato in vari modi. I minuscoli per iniziare l'inserimento con il cursore, maiuscolo I per iniziare l'inserimento all'inizio della riga, ecc. –

+0

A partire da un file vuoto, i seguenti caratteri dovrebbero darti un file con la parola "ciao" al suo interno: 'ihello : w hello.txt ' –

+5

' ctrl- ['funziona come sostituto di Esc su molte tastiere. –

risposta

34

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

Questo accade quando Vim viene invocato con l'argomento -y o come evim, o forse avete un :set insertmode da qualche parte nella configurazione .vimrc. Trova la fonte e disabilitala; temporaneamente questo può essere fatto anche tramite Ctrl + O:set noimImmettere.

+0

Penso che sia stato. Ho attivato la modalità di inserimento nel mio file. Dopo averlo rimosso, la chiave di escape funziona perfettamente. Grazie! –

+1

questa è la modalità facile !? – statue

+1

Modalità Vim facile, ora è un ossimoro. E 'dove è possibile uscire da vim? – Davos

73

Premendo ESC si chiude dalla modalità di inserimento alla modalità normale, in cui è possibile premere : di digitare un comando. Premere i di nuovo per tornare alla modalità di inserimento, e sei a posto.

Io non sono un guru di Vim, quindi qualcun altro può essere più esperto e offrirti altre opzioni.

4

Utilizzando jj

Nel mio caso, il .vimrc (o in gVim è in _vimrc) impostazione di seguito.

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

Questa è una rimappatura comune. Trovo che abbia un leggero ritardo in attesa dell'inserimento di caratteri addizionali. In alternativa, rimappare il tuo codice capslock per esc utilizzando qualcosa come KeyRemap4MacBook su un Macbook: https://github.com/tekezo/KeyRemap4MacBook – Koobz

7

Questo è stato citato in other questions, ma Ctrl + [ è un equivalente di ESC su tutte le tastiere.

+0

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

0

C'è anche un'altra soluzione per quel tipo di problema, che è piuttosto raro, penso, e potresti sperimentarlo, se stai usando vim su OS X Sierra. In realtà, è un problema con il pulsante Esc - non con vim. Ad esempio, non ero in grado di uscire video a schermo intero su YouTube usando Esc, ma ci ho vissuto per alcuni mesi finché non ho avuto lo stesso problema con Vim.

Ho trovato la soluzione this. Se sei abbastanza pigro da seguire il collegamento esterno, è possibile disattivare Siri e uccidere il processo in Activity Monitor.

0

Venendo da emacs Ho scoperto che mi piace ctrl + chiavi per fare cose, e in vim ho trovato che sia [ctrl + C] e [alt + backspace] entra in modalità normale dalla modalità di inserimento. Potresti provare a vedere se qualcuno di questi funziona per te.