如何重复使用视觉模式选择?

如何重复使用视觉模式选择?

通常在编辑代码时,我会在可视模式下选择一个块,然后对该块进行搜索和替换。但是,在我进行更改后,它会离开可视模式。如何对同一选择进行新的查找和替换?

答案1

您可以使用 重新选择最后选定的可视区域gv

答案2

gv绝对是最快的方法(使用最后的选择),但如果您想要一个稳定保存的选择区域(或多个),您可以随时创建宏。

假设我想存储当前方法的选定内容,即从第 25 行到第 35 行。我可以创建一个宏来选择整个方法,只需键入

q    //start recording
a    //use register a
25G  //Go to line 25
V    //visual-line mode
35G  //Go to line 35
q    // stop recording

然后我可以通过键入(在寄存器 a 中运行宏)来恢复该选择@a。对您想要的任何寄存器、行或行的部分重复此操作。显然,如果您对文件进行更改,选择也可能会改变,因此您可能需要考虑使用标记而不是“硬编码”行号。

答案3

gv非常适合恢复上次选择。但有时需要更多。

如果你需要更持久的记录,请查看这个插件我们目前正在 GitHub 上进行工作。

视觉标记允许您保存和恢复视觉选定区域,就像使用 保存和标记文件中的特定位置一样m。安装后,使用默认选项,使用:

ma

在视觉模式下保存当前选择以标记a,然后

<a

在正常模式下返回该选择。

答案4

假设我想用 Hello 替换 Goodbye,并选择下面的代码:

public static void main(String[] args){
    System.out.println("Goodbye World");
}

我会输入,然后 vim 将用:s/Goodbye/Hello/替换所有实例GoodbyeHello

它只是 vim 的正则表达式和可视模式选择的组合。当您选择时,它应该会自动填充'<,'>

相关内容