182

在 Vim 中处于可视块模式(通过按 ctrl-V)时如何插入?

4

4 回答 4

266

试试这个

选择一段文本后,按Shift+i或大写I

小写i将不起作用。

然后键入您想要的内容,最后将其应用于所有行,按Esc两次。




如果这不起作用...

检查您是否+visualextra在您的 Vim 版本中启用。

您可以通过键入:ver并滚动功能列表来执行此操作。(您可能希望将其复制并粘贴到缓冲区中并进行增量搜索,因为格式很奇怪。)

启用它超出了这个问题的范围,但我相信你可以在某个地方找到它。

于 2012-09-13T04:49:57.733 回答
54
  1. 按 ctrl 和 v // 开始选择
  2. 按 shift 和 i // 然后输入任何文本
  3. 按 esc esc // 按 esc两次
于 2017-03-28T17:42:12.420 回答
33

您可能还有一个用例,您希望删除一段文本并替换它。

像这样

Hello World
Hello World

您可以在“W”之前进行视觉块选择并点击Shift+ i- 键入“Cool” - 点击ESC然后通过视觉块选择删除“世界”。

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

Hello Cool 
Hello Cool
于 2014-07-03T09:38:21.670 回答
14

如果要在所选列之前或之后添加新文本:

  • 按 ctrl+v
  • 选择列
  • 按 shift+i
  • 写你的文字
  • 按 esc
  • 按“jj”
于 2017-10-26T08:11:42.330 回答