Vim选择多行的结尾(块模式,但结束列的变化)

d11*_*wtq 35 vim

在vim中有什么办法可以选择所有这些行的结尾吗?(我只是在这些截图中显示了行的结尾).

在块模式下,如果底线比其余部分长,我可以全部获得它们,但如果底线较短,则较长的线被截断.

编辑| 我猜我可以在选择之前用空格填充底线,然后再删除空格.

在此输入图像描述 在此输入图像描述

geo*_*ock 61

  1. 将光标放在要作为块的一部分的左上角字符上.
  2. ctrl+ 输入块选择模式v
  3. 选择到行的末尾$(这是您缺少的步骤;如果您移动到第一行的末尾,$则选择将延伸到后续行的末尾)
  4. 向下移动3行 3j

有关可视模式的Vim文档部分中有更多信息,您可以在线阅读,或只需键入:help v_$Vim.

  • 如果我想要比最后一行的结尾更远但是不是最长行的结尾怎么办? (2认同)

ech*_*son 15

或者,您可以设置virtualedit(:h 'virtualedit')设置,这样,只要您处于可视块模式,就可以将光标移动到线的末端.例如:set virtualedit=block.

  • 哇,这太有用了!立即添加到我的.vimrc文件. (2认同)

Dan*_*man 9

如果您要选择每一行的最后一个字符,例如,如果要在每行末尾的引号后添加内容,则可以执行以下操作:

  1. 将光标放在最后一个字符上(在本例中,第一行的最后一个引号)
  2. 进入阻止模式:control+V
  3. 下移以选择您想要更改的行数.
  4. 在行尾插入:shift+A
  5. 键入要添加的内容,然后退出可视模式
  6. 您现在应该在每个选定行的末尾插入文本!

希望这对我这样的人有所帮助,就像我上面搜索类似但不完全相同的答案一样.


Foc*_*olf 9

  1. 单击要添加文本的第一行中的某个位置(任意位置).

  2. Control+ V.

  3. 按下Down可创建跨越所需线条的任意垂直块选择.

  4. $将可视块选择扩展到所选每行的末尾.

  5. Shift+ A可将文本附加到每个选定的行.

  6. 输入要附加的文本.

  7. Escape,文本将附加在选定的行上.