Vim ” (inserire) VISUAL modalità?

(insert) VISUAL“Modalità può essere immesso da CTRL+O , v a partire dalla modalità di inserimento. Questo entra in modalità visuale, ma viene visualizzato come “(insert) VISUAL” dal di dentro vim, e premendo il tasto Esc da questa modalità consente di tornare alla modalità di inserimento, non in modalità normale. “(insert) VISUAL” Modalità è entrato anche spostato verso l’tasti freccia dalla modalità di inserimento.

Due domande:

  1. Non sembra essere molto documentazione su questa modalità speciale. C’è un modo semplice per cercare informazioni a riguardo? (edit: mi sono informato su cosa CTRL+O fa normalmente. L’interazione con la modalità visuale sembra essere speciali. Il primo paragrafo è stato il modo più semplice per vedere che cosa questa modalità è, in primo luogo, come non ho mai sentito di un motore di ricerca per nome.)
  2. Come si fa a scrivere vmap mapping in modo affidabile? Cioè, c’è un modo coerente per lasciare la modalità visiva e finiscono in modalità normale? O costantemente finiscono in modalità di inserimento?

OriginaleL’autore Ein | 2013-04-24

4 Replies
  1. 6

    Alla seconda domanda: è possibile passare alla modalità normale da qualsiasi altro utilizzo <C-\><C-n>. Non ci sono comandi affidabile per passaggio a visual o inserire le modalità in questo modo, ma se avete solo bisogno sempre di commutazione alla modalità normale dopo visiva è sufficiente. Nota che la maggior parte delle visual-modalità di mapping di lavoro in i<C-o>v modalità speciale senza modifiche.

    Grazie, questo cancella la seconda domanda. Ho una domanda relativa su come le mappe di lavorare in i<C-o>v qui (che cosa ha spinto questo): stackoverflow.com/questions/16221213/…

    OriginaleL’autore ZyX

  2. 14

    In inserire modalità, <C-o> consente di eseguire normale i comandi in modalità senza lasciare inserire modalità. Vim cerca per indicare il nuovo stato con (insert). Ora temporalmente in normale modalità di colpire v si mette in visual modalità e Vim cerca, di nuovo, per indicare il nuovo stato con (insert) VISUAL. Vim è in questo stato solo a causa della sequenza di comandi si eseguita e, come sottolineato da altri, è che il comportamento è documentato. A questo punto, è normale e previsto che <Esc> ti riporta in inserire mode dal momento che è il vostro modo originale.

    Qualcuno con una più profonda Vim comprensione di me, può essere in grado di dirvi se c’è un modo affidabile per finire in normal da insert -> (normal) -> visual ma direi che l’idea suona strano anche a me.

    Uso corretto è:

    1. fare le cose nel normale modalità
    2. inserire inserire modalità di “inserire” qualcosa
    3. uscita inserire modalità di tornare a normale modalità
    4. fare più cose in normale modalità
    5. inserire visual modalità
    6. fare le cose nel visual modalità
    7. uscita visual modalità di tornare a normale modalità
    8. etc.

    Fondamentalmente, non si dovrebbe essere maggiore rispetto a uno <Esc> di distanza dal normale modalità.

    Non riesco a immaginare uno scenario in cui l’utilizzo v dopo <C-o> senso.

    Il migliore e il modo preferito per usare Vim è quello di rimanere fuori inserire modalità quanto più possibile. Utilizzando <C-o> per evitare di lasciare inserire modalità è una strategia davvero scadente. Non ho idea se questo è quello che si fa, ma, se lo si fa, si dovrebbe riconsiderare l’approccio più presto possibile.

    Ma ho il sospetto che si sta tentando di fare qualcosa di diverso che, in qualche modo, non credo che abbiamo bisogno di sapere.

    (insert) VISUAL” Modalità è entrato anche spostato verso l’tasti freccia dalla modalità di inserimento. Questo è come mi incontrano comunemente. La domanda era, infatti, richiesto da “qualcos’altro”: sono stato il debug di vim mapping che si comportava completamente diverso se è stato attivato da VISUAL vs (insert) VISUAL. Ulteriori test che rivela se Vim di solito va fuori del suo modo non importa, ad esempio, il vmap vnoremap x <Esc>jjj funziona come previsto dal (insert) VISUAL troppo.
    Una situazione in cui Ctrl+O, v aiuta quando la modalità visiva è usato in un modo per apportare modifiche. io per esempio ho la modalità visiva lega chiamata plugin in grado di eseguire operazioni di confezionamento, per esempio, da modalità normale, viw) di avvolgere la parola corrente all’interno di parentesi, e ve) di avvolgere dalla posizione corrente del cursore alla fine della parola tra parentesi. Ciò che non è la situazione ideale è quando devo tornare alla modalità normale dalla modalità di inserimento si sposta il cursore indietro di una posizione e poi ho tipo (dalla modalità di inserimento) <Esc>lve), ma qui si può fare <C-O>ve) e può essere accorciato ulteriormente con un inserto in modalità di associazione.

    OriginaleL’autore romainl

  3. 1

    È documentato a :h Operator-pending e appena al di sotto che al :h mode-switching. Mapping per la modalità visiva funziona anche per il (inserire) modalità visiva. Vedere :h map-modes per una revisione delle modalità di mapping. vmap la mappa per le arti visive e selezionare i modi, xmap la mappa per solo visiva, ma non per selezionare, e smap la mappa per selezionare solo, ma non visiva. In generale, si dovrebbe utilizzare il noremap versioni di questi mappatura dei comandi per evitare un comportamento imprevisto.

    Si dispone di un errore qui: v[nore]map (e [nore]map) per la definizione di mapping per la selezione e modalità visive (+ normale e l’operatore è in attesa di noremap), x[nore]map è utilizzato per visual solo in modalità s[nore]map è utilizzato per selezionare la modalità.
    Grazie per la macchia che!

    OriginaleL’autore Conner

  4. 0

    Per la prima domanda.

    CTRL+O in modalità di inserimento esegue un comando e poi esce, torna alla modalità di inserimento. Vedere :h i_CTRL-O.

    Per la seconda domanda.

    Non credo che c’è un modo affidabile per uscire in un modo o in un altro. Il modo più affidabile penso che è quello di iniziare in modo che si desidera.

    OriginaleL’autore FDinoff

Lascia un commento