2010-01-16 21 views
47

Se stai digitando un comando in Vim (voglio dire che hai iniziato con : e stai lavorando nella barra nella parte inferiore dello schermo) c'è un modo per spostare il cursore oltre che toccare i tasti freccia ? In particolare, puoi spostarlo all'inizio, alla fine, indietro di caratteri o indietro di una parola?Come posso spostarmi nella riga di comando di Vim?

risposta

42

Tipo

:h cmdline-editing

per i dettagli. Sto elencando alcuni dei comandi non-arrow interessanti che fanno qualcosa di simile a quello che vuoi.

  • Ctrl - B: cursore all'inizio della riga di comando
  • Ctrl - E: cursore alla fine della riga di comando
  • Ctrl - W: elimina la parola prima del cursore
  • ctrl - U: rimuovere tutti i caratteri tra la posizione del cursore e l'inizio della linea
+0

Grazie, è grandioso. Ho cercato attraverso quel documento di aiuto e non vedo un modo per andare avanti e indietro a parole. Sai se è disponibile? – Ethan

+0

La documentazione dice che shift + left e shift + right sono usati per muovere avanti e indietro una parola.Ha anche un esempio di come ' b' per spostare + sinistra (e così via) in modalità riga di comando:': cnoremap b ' –

+1

Quella mappatura chiave sembra molto impressionante come Emacs :) –

65

Tap Ctrl +F mentre in modalità riga di comando (dopo :). Lì si otterrà la finestra della riga di comando che potrebbe essere modificata & navigata come una normale finestra di vim (hjkl ecc.).

Vedere :h cmdline-window per dettagli.

+8

Wow, questo è a dir poco la vita che rivela per me. – BimoZX

+14

Tutti quegli anni sprecati ... – offbyone

+3

E 'Ctrl-C' esce. – Walf

12

Per aggiungere alla risposta di Maxim Kim,

Nel Normal Mode ..

q: -> Finestra cmdline per i comandi

q/ -> Finestra cmdline per la ricerca in avanti

q? -> Finestra cmdline per la ricerca a ritroso

Ctrl-C o <CR> vi porterà fuori di cmdline-window

9
  • Ctrl + sinistra sulla: tornare indietro di una parola
  • Ctrl + freccia destra - avanzare una parola
  • Ctrl + b - di nuovo all'inizio della riga
  • ctrl + e - vai alla fine della riga
  • Ctrl + w - rimuovere una parola prima del cursore
  • Ctrl + u - rimuovere linea
  • Ctrl + f - se avete bisogno di più l'uso potenza di editing Ctrl + f e si modificherà il comando in modalità normale. Ad esempio, se si desidera spostare 5 caratteri a sinistra, utilizzare ctrl + f e quindi 5h.
+0

Su Mac 'Ctrl + freccia sinistra' sposta l'intero desktop. L'ho disabilitato ma 'Ctrl + freccia sinistra' sposta il cursore a sinistra della linea. –

0

In realtà è possibile aggiungere le proprie chiavi di movimento. Ad esempio, io uso il seguente nel mio Vimrc per far spostamento in modalità di comando finger-friendly in modo hjkl (abusando il tasto CTRL):

" moving aroung in command mode 
cnoremap <c-h> <left> 
cnoremap <c-j> <down> 
cnoremap <c-k> <up> 
cnoremap <c-l> <right> 
cnoremap^ <home> 
cnoremap $  <end> 

dove ^ e $ sono davvero < ctrl- ^> e < ctrl- $> rispettoso, digitato come < cv> < c- ^> e < cv> < c- $> nel .vimrc (per qualche motivo < c- ^> e < c- $> non funzionerà, almeno nel mio ambiente, ma il primo lo faccio)

0

nnoremap q; q: per facilitare la digitazione. usr_20.txt e cmdline.txt contiene tutte le informazioni utili.

+0

dopo che 'q;' esegue lo stesso ':' then '' – qeatzy

Problemi correlati