我使用 Ctrl - V 选择一个文本块,但是当我输入 Shift - A 或 Shift - I ,我的vim编辑器仅在我开始可视块模式的位置进入插入模式。
例如,
Here
is
text
我想要
#Her
#is
#text
但我明白了:
#Here
is
text
答案 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')