Qual è la "[riga di comando]" che a volte compare quando provo ad uscire e come posso uscire rapidamente?


18

Occasionalmente quando provo a uscire da Vim, ottengo qualcosa che assomiglia a questo:

inserisci qui la descrizione dell'immagine

Non sono sicuro di come invochi accidentalmente questo, ma il mio metodo attuale per evadere è quello di premere i tasti casuali e alla fine scompare. Due domande:

  • Come sto invocandolo (lo uso :qper uscire da VIM) accidentalmente, e
  • Come posso uscire rapidamente e tornare a quello su cui sto lavorando?

3
Disattivo questo keybinding / mode con map q: <Nop>in ~ / .vimrc, poiché lo trovo molto irritante e non lo uso mai veramente.
Andrew Ferrier,

1
PS: puoi anche map q: :q, il che è probabilmente ancora meglio.
Wolfie,

Risposte:


20

L'hai invocato premendo il tasto q:che apre una nuova finestra e ti permette di scrivere un comando Ex. Ecco perché si chiamaCommand Line

Puoi leggerlo digitando :help q:.

Poiché è una finestra, puoi semplicemente uscire da qualsiasi altra finestra, in particolare :qscritta correttamente.


5
Inoltre, la finestra di comando è impostata in modo che il comando sulla riga del cursore venga eseguito quando si preme Entere il cursore si posizionerà su una riga vuota quando si apre per la prima volta la finestra di comando, quindi semplicemente premendo lo Entersi chiuderà.
Tommaso

7

:help Command-line:

                        *Cmdline-mode* *Command-line-mode*
Command-line mode       *Cmdline* *Command-line* *mode-cmdline* *:*

Command-line mode is used to enter Ex commands (":"), search patterns
("/" and "?"), and filter commands ("!").

Uno dei modi per accedere alla modalità riga di comando è q:, che probabilmente stai digitando accidentalmente.

Questa è semplicemente una nuova finestra. Puoi chiuderlo via <C-w> q.

In una nota correlata, suggerisco invece di utilizzare ZZper salvare ed uscire. È più facile da scrivere e meno soggetto a errori come questi.


3

Quella vista mostra i comandi usati di recente, hai invertito i caratteri e premuto q:invece. È possibile utilizzare il valore predefinito <C-w> qper chiuderlo.


2
Questo è vero, sì, ma in realtà è più di questo. È ex-mode in una forma simile a quella sostitutiva.
musicmatze,

So che è la modalità riga di comando, ma stranamente non l'ho mai usata così. Lo uso per controllare la cronologia Shift Vper selezionare una riga ed entrare per eseguire nuovamente.
iKlsR,
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.