2013-02-17 17 views
16

ho selezionare un blocco di testo usando Ctrl - V, ma quando ho quindi digitare Maiusc - Un o Maiusc - I, il mio vim l'editor entra in modalità inserimento solo nella posizione in cui ho iniziato la modalità di blocco visivo.visiva inserimento blocco/accodamento non funziona

Per esempio,

Here 
is 
text 

voglio

#Her 
#is 
#text 

ma ottengo:

#Here 
is 
text 
+0

Questo è perfettamente normale . – romainl

+0

Ho avuto questo problema. Potrebbe essere il tuo Ctrl-V che viene intercettato e trasformato a livello di interfaccia grafica. Il tuo programma terminale potrebbe intrappolare il Ctrl-V e cambiarlo in qualcos'altro prima che vim lo veda. Per me è venuto fuori quello che è successo molto tempo fa, ho manipolato i tasti di scelta rapida di Konsole e ho rimappato da Ctrl-V a Shift + in per problemi di compatibilità. Per risolvere il problema, sono andato su konsole -> settings -> configura le scorciatoie -> rimuovi la rimappatura da Ctrl-V a Shift + ins. Un modo per dimostrare se questo è il caso è di usare vim per rimappare una sequenza di tasti diversa da Ctrl-V in vimrc per bypassare l'intercetta. –

+0

Stesso problema con me, usando zsh su un Mac e nessuna delle risposte seguenti funziona. Posso usare Ctrl-V bene, e spesso lo faccio, ma Shift-i mi dà un calcio fuori dalla modalità visuale e in modalità di inserimento ordinaria (non multilinea). – rossdavidh

risposta

16

Ctrl - V -> selezionare il blocco -> premere I -> tipo #

quindi premere ESC

più in dettaglio:

:h v_b_I 

si può vedere:

Visual-block Insert      *v_b_I* 

With a blockwise selection, I{string}<ESC> will insert {string} at the start 
of block on every line of the block, provided that the line extends into the block. 
+3

Si noti che il vim predefinito installato con Ubuntu 14.04 (installato come 'vi') non include la funzione' visualextra', quindi l'inserimento di blocchi non funzionerà lì.'sudo apt-get install vim' introduce una versione più completa, su cui è attivato' visualextra'. Puoi controllare l'output di 'vim --version' per vedere l'elenco completo delle funzioni attivate. –

+0

'esc' era la chiave. Sto usando C_c per uscire dalla modalità di inserimento. : | – reergymerej

16

accertarsi di aver blocco visivo con ESC, non Ctrl C .

Inoltre, Vim non si aggiorna in modalità di blocco visivo, è necessario uscire dalla modalità di blocco visivo per mostrare le modifiche su altre linee.

Si vedrà solo:

#Here 
is 
text 

Dopo aver immesso blocco visivo e inserisce un #, ma una volta che si lascia la modalità di blocco visuale premendo ESC dovrebbe assomigliare:

#Here 
#is 
#text 
0
rpm -qa | grep vim 

vim-enhanced-7.4.160-1.el7.x86_64 
vim-common-7.4.160-1.el7.x86_64 
vim-filesystem-7.4.160-1.el7.x86_64 

1/just remove vi and use vim instead 
or 
2/alias vim='vi' in your bashrc 
or 
3/ln -s $(which vim) $(which vim|sed 's/vim/vi/g') 
Problemi correlati