Vim:如何在可视块模式下插入?

Vim:如何在可视块模式下插入?,vim,Vim,当您在Vim中处于可视块模式(按ctrl-V)时,如何插入?试试这个 选择文本块后,按Shift+i或大写字母i 我不会工作 然后键入所需内容,最后要将其应用于所有行,请按Esc键两次 如果这不起作用… 检查您的Vim版本中是否启用了+visualextra 您可以通过键入:ver并滚动功能列表来完成此操作。(您可能希望将其复制并粘贴到缓冲区中,并进行增量搜索,因为格式是奇数。) 启用它超出了这个问题的范围,但我相信您可以在某个地方找到它。您可能还有一个用例,您希望删除一块文本并替换它 像

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

试试这个

选择文本块后,按Shift+i或大写字母i

我不会工作

然后键入所需内容,最后要将其应用于所有行,请按Esc键两次




如果这不起作用…

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

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


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

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

像这样

Hello World
Hello World
您可以在“W”之前选择视觉块,然后按Shift+i键-键入“Cool”-按ESC键,然后按视觉块选择删除“World”

或者,更酷的方法是在两行中选择“World”(世界)。为
更改键入c
。现在您处于插入模式。插入所需内容并按ESC键。两者都会通过较少的击键来反映

Hello Cool 
Hello Cool
  • 按ctrl和v//开始选择
  • 按shift键和i//,然后键入任何文本
  • 按esc//按esc两次

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

    • 按ctrl+v组合键
    • 选择列
    • 按shift+i
    • 写下你的文字
    • 按esc键
    • 按“jj”


    答案快速总结的可能副本:我将以简单的形式把答案放在这里。评论太多了,这条线快被淹没了。1) 通过在Vim中键入:ver,检查您的Vim版本中是否启用了+visualextra。2) 首先标记要编辑的内容,然后按I(大写字母I)-小写字母I不起作用。3) 一旦你这样做了,那么可能看起来你只是在第一行插入,但当你完成后,然后按ESC和j,然后文本被复制到其他行。对我来说就是这样。在复制文本之前,你还必须按escape退出插入模式。有人见过这不起作用吗?我在CentOS上有一个未修改的vim设置。我按ctrl+v,再按j几次,我看到光标高亮显示了几行中的第一个字符。我按下shift+I。光标移动到第一行的第一个字符,但我回到了正常模式。我知道这一点,因为如果我按“a”,它会将字符向右移动,并显示--“插入--”。如果我键入几个字符并按escape,它不会应用于其他行。@TylerCollier我在digitalocean上的Ubuntu 14.04上遇到了问题。如果您找到了解决方案,请发表意见。@ZacharyBurt随Ubuntu 14.04安装的默认vim(安装为
    vi
    )不包括
    visualextra
    功能,因此块插入在那里不起作用
    sudo-apt-get-install-vim
    引入了一个功能更全面的版本,在该版本上激活了
    visualextra
    @TylerCollier这在您的CentOS安装上可能也是同样的问题:检查vim--version的输出,查看激活功能的完整列表。@GabrielGrant不幸的是,它为我显示了+visualextra。我是否必须进行点文件配置才能激活它?按
    ctrl+v
    后,可以按
    j
    快速选择当前位置下方的行,或按
    k
    快速选择当前位置上方的行。您也可以使用
    shift
    键和
    up
    down
    错误进行选择。在所有答案中,这是唯一对我有效的答案。我在mac上使用brew安装,多年来我一直抱怨无法轻松地在block select中插入(如更改)。因此,我对大写字母“我”感到惊讶。我一直在使用
    :normal iINPUT
    在行首输入。非常感谢!我认为你不需要按esc键两次。如果在esc之后按任何键,它将自动更新文本。如果没有,它将在大约半秒钟内完成。告诉你,
    jj
    将更改传播到下面的所有行是我丢失的最后一点<代码>jj是个杀手!有人能解释一下jj吗?我找不到关于它的任何东西,对我来说似乎没有必要。jj有助于将您的更改传播到所有其他行…如果您不需要它,可能是因为VIMYeah的较新版本中发生了更改。我的版本也不需要它,但最好知道以防万一。最后一步对我很有帮助,您必须按ESC键,然后所有标记的行都将显示您键入的字符。太棒了,它帮助很大