视觉块插入/附加不起作用

时间:2013-02-17 20:53:17

标签: vim

我使用 Ctrl - V 选择一个文本块,但是当我输入 Shift - A Shift - I ,我的vim编辑器仅在我开始可视块模式的位置进入插入模式。

例如,

Here
is 
text

我想要

#Her 
#is 
#text

但我明白了:

#Here
is 
text

4 个答案:

答案 0 :(得分:21)

确保使用 ESC 退出visual block,而不是 Ctrl C

此外,Vim在可视块模式下不进行实时更新,您必须离开可视块模式以显示其他行的更改。

你只会看到:

#Here
is 
text

输入视觉区块并插入#后,但是一旦按 ESC 离开视觉区块模式,它应该如下所示:

#Here
#is 
#text

答案 1 :(得分:19)

控制 - V - >选择块 - >按 I - >输入

然后按 ESC

更多细节:

:h v_b_I
你可以看到:

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. 

答案 2 :(得分:2)

对我来说,问题在于我使用的是逐行可视模式(即通过按V进入可视模式),而不是逐块可视模式(即通过使用Ctrl-v进入可视模式)。另外请注意,您必须使用<Esc>(或等效地使用英文键盘上的Ctrl-[)而不是使用Ctrl-c退出可视模式。

答案 3 :(得分: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')