2012-09-13 70 views
67

你怎么可以插入,当你在视觉块模式(按Ctrl-V)在Vim中?Vim:如何插入视觉块模式?

+3

可能重复[VIM列块插入]( http://stackoverflow.com/questions/2874952/vim-blockwise-insert) – Conner

+1

快速求和的答案:我只是把答案放在这里以简单的形式。有太多评论,这个线程淹没。 1)检查Vim版本中是否启用了+ visualextra,在Vim中键入:ver。 2)首先标记你想编辑的东西,然后按下I(大写) - 小写字母不起作用。 3)一旦你这样做,那么它可能看起来像你只在第一行插入,但当你完成后,然后按ESC和j,然后将文本复制到其他行。这就是我的方式。 – Zeth

回答

106

试试这个

选择文本块后,按 + 或资本

小写将无法​​正常工作。




如果这不工作...

检查,如果你在你的版本里,启用+visualextra

您可以通过键入:ver,并通过功能列表滚动做到这一点。 (您可能想复制并粘贴到一个缓冲区,做渐进式搜索,因为该格式是奇数。)

启用它是这个问题的范围,但我敢肯定,你可以在某个地方找到它。

+8

别忘了'A'! – jmdeldin

+15

为什么小写'i'在视觉模式下不起作用? –

+24

在复制文本之前,您还必须按退出才能退出插入模式。 –

17

您也可能要删除的文本块和替换它有一个用例。

像这样

Hello World 
Hello World 

前“W”可以视觉块选择和命中 - 类型“酷” - 命中ESC,然后通过视觉块选择删除“世界”。

或者,更酷的方法是在只是视觉块在两行中选择“世界”。键入çchange。现在您处于insert模式。插入你想要的东西,并点击ESC。两者都用较少的按键反映出来。

Hello Cool 
Hello Cool 
8
  1. 按ctrl和v //启动选择
  2. 按移位,然后I //键入任何文本
  3. 按ESC键ESC //按ESC 两次
+0

在Linux下工作(Debian 9) –

+0

按下'ctrl + v'后,可以按'j'键快速选择当前位置下的行,或者按'k'键快速选择当前位置的行位置。您也可以使用'shift'键和'up'或'down'错误进行选择。 –

+0

在所有答案中,这是唯一对我有效的人。我使用brew安装在Mac上 –

0

如果你想在选定的柱子之前或之后添加新的文字:

  • 按CTRL + V
  • 选择列
  • 按shift + I
  • 写你的文字
  • 按ESC
  • 按 “JJ”