我选择使用按Ctrl文本块 - V,但是当我然后键入移 - 一个或移 - 我,我的VIM编辑器仅在开始视觉模块模式的位置进入插入模式。视觉块插入/追加不起作用
例如,
Here
is
text
我想
#Her
#is
#text
,但我得到:
#Here
is
text
我选择使用按Ctrl文本块 - V,但是当我然后键入移 - 一个或移 - 我,我的VIM编辑器仅在开始视觉模块模式的位置进入插入模式。视觉块插入/追加不起作用
例如,
Here
is
text
我想
#Her
#is
#text
,但我得到:
#Here
is
text
Ctrl - V - >选择块 - >按我 - >型#
然后按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.
请注意,安装Ubuntu 14.04(安装为'vi')的默认vim不包含'visualextra'功能,因此块插入将无法在此工作。'sudo apt-get install vim'引入了一个功能更全的版本,其中'visualextra'被激活。您可以检查'vim --version'的输出以查看激活功能的完整列表。 – 2015-07-15 12:49:15
'esc'是关键。我一直在使用C_c来转义插入模式。 :| – reergymerej 2016-12-28 20:28:48
确保你退出视觉块与ESC,不按CtrlÇ 。另外,Vim不会在视觉模块模式下实时更新,您必须离开视觉模块模式才能显示其他行上的更改。
你只会看到:
#Here
is
text
当您输入的视觉块,并插入一个#
,但一旦你离开可视块模式中按ESC它应该看起来像:
#Here
#is
#text
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')
这是完全正常的。 – romainl 2013-02-17 21:23:11
我有这个问题。它可能是你的Ctrl-V在GUI级被拦截和转换。你的终端程序可能会陷入Ctrl-V并在vim甚至看到它之前将它改成别的东西。对于我来说,事实证明,很久以前我用Konsole快捷键摆弄,并将Ctrl-V重新映射到Shift + ins以解决兼容性问题。为了解决这个问题,我去了konsole - >设置 - >配置快捷方式 - >删除Ctrl + V的重映射到Shift + ins。证明这种情况的一种方法是使用vim在vimrc中重新映射到Ctrl-V的不同击键以绕过截取。 – 2017-09-12 04:58:55
对我来说同样的问题,在Mac上使用zsh,并且下面的答案都不起作用。我可以使用Ctrl-V,并且经常这样做,但Shift-i将我踢出Visual模式并进入普通(不是多行)插入模式。 – rossdavidh 2018-01-19 15:59:40