Ctrl我使用-选择了一个文本块V,但是当我输入Shift-A或Shift-I时,我的 vim 编辑器仅在我开始可视块模式的位置进入插入模式。
例如,
Here
is
text
我想
#Her
#is
#text
但我得到:
#Here
is
text
Ctrl我使用-选择了一个文本块V,但是当我输入Shift-A或Shift-I时,我的 vim 编辑器仅在我开始可视块模式的位置进入插入模式。
例如,
Here
is
text
我想
#Her
#is
#text
但我得到:
#Here
is
text
确保使用 退出视觉块ESC,而不是Ctrl C。
此外,Vim 不会在可视块模式下实时更新,您必须离开可视块模式才能显示其他行的更改。
你只会看到:
#Here
is
text
在你进入视觉块并插入一个#
之后,但是一旦你离开视觉块模式,按下ESC它应该看起来像:
#Here
#is
#text
Ctrl- 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.
对我来说,问题是我使用的是逐行视觉模式(即通过按 进入视觉模式V
),而不是按块视觉模式(即通过使用进入视觉模式Ctrl-v
)。另请注意,您必须通过使用<Esc>
(或等效地通过Ctrl-[
在英文键盘上使用)而不是通过使用来退出可视模式Ctrl-c
。
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')