我可以用 VIM 选择多个可视部分吗?

我可以用 VIM 选择多个可视部分吗?

假设我有 10 行:

1. Foo
2. Bar
3. Baz
4. Quz
5. Qaz

我怎样才能选择 1-3 行,然后再选择 4-5 行。

答案1

您需要使用寄存器,因为如果不使用插件,就无法一次突出显示多个块。

其结构是"<register><action>

基本示例:

<C-v>使用(块) 或(线)进行视觉选择<S-v>。选择第一个块。

在此处输入图片描述

"qy用或将其剪切/拉入寄存器"qxq可以是任何字母,它只是寄存器的标识符。

在此处输入图片描述

对下一个块执行相同的操作,但使用不同的寄存器。"wy"wx

在此处输入图片描述

现在,两个选择分别位于寄存器qw中。导航到目标位置并使用或粘贴"qp它们"wp

在此处输入图片描述 在此处输入图片描述

如果要将w寄存器的内容追加到寄存器中q,可以在命令模式下执行以下操作。

:let @q .= @w

您还可以在不进入可视模式的情况下提取多行。命令是"<register><number><action><movement>。假设您要将当前行提取到寄存器中的第 3 行z,请输入"z3yj"。您应该4 lines yanked在状态栏中看到确认信息。

答案2

使用寄存器是最佳方法。但如果你坚持要进行非连续的视觉选择,那么这里有一个插件可以做到这一点 -

http://www.vim.org/scripts/script.php?script_id=953

相关内容