2013-02-17 10 views
16

mogę wybrać blok tekstu przy użyciu Ctrl - V, ale kiedy wpisz SHIFT - lub Shift, - I, mój vim edytor przechodzi do trybu wstawiania tylko w miejscu, w którym rozpocząłem tryb bloków wizualnych.wizualna wkładka blok/Dołącz nie działa

Na przykład

Here 
is 
text 

Chcę

#Her 
#is 
#text 

ale otrzymuję:

#Here 
is 
text 
+0

To zupełnie normalne . – romainl

+0

Miałem ten problem. To może być twój Ctrl-V jest przechwytywany i przekształcany na poziomie GUI. Twój program terminalowy może przechwytywać Ctrl-V i zmieniać go na coś innego, zanim vim go zobaczy. Dla mnie okazało się, co zdarzyło się dawno temu, że bawiłem się klawiszami skrótu Konsole i zamapowałem Ctrl-V na Shift + ins ze względu na zgodność. Aby to naprawić, wybrałem konsole -> ustawienia -> skonfiguruj skróty -> usuń mapowanie Ctrl-V z Shift + ins. Sposobem na udowodnienie, czy tak jest, jest użycie vim do zmiany innego naciśnięcia klawisza na Ctrl-V w vimrc, aby ominąć punkt przecięcia. –

+0

Ten sam problem dla mnie, używając zsh na komputerze Mac, i żadna z poniższych odpowiedzi nie działa. Mogę używać Ctrl-V dobrze i często robię, ale Shift-i wyrzuca mnie z trybu Visual i do zwykłego (nie wieloliniowego) trybu wstawiania. – rossdavidh

Odpowiedz

16

Ctrl - V -> wybierz blok -> naciśnij I -> typ #

następnie naciśnij ESC

bardziej szczegółowo:

:h v_b_I 

widać:

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

Należy zauważyć, że domyślny vim zainstalowany z Ubuntu 14.04 (zainstalowany jako 'vi') nie zawiera funkcji' visualextra', więc wstawka bloku nie będzie tam działać.'sudo apt-get install vim' wprowadza bardziej w pełni funkcjonalną wersję, na której aktywowana jest' visualextra'. Możesz sprawdzić wyjście 'vim --version', aby zobaczyć pełną listę aktywowanych funkcji. –

+0

'esc' był kluczem. Używam C_c, aby wyjść z trybu wstawiania. : | – reergymerej

16

Upewnij się opuścić blok wizualny z ESC, nie Ctrl C .

Ponadto, Vim nie aktualizuje się na żywo w trybie bloków wizualnych, należy opuścić tryb bloków wizualnych, aby pokazać zmiany w innych liniach.

Zobaczysz tylko:

#Here 
is 
text 

Po wprowadzeniu bloku wizualne i wstawić #, ale po wyjściu z trybu wizualnego bloku naciskając ESC to powinno wyglądać:

#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') 
Powiązane problemy