假设我有一堆行:
@Override
public void draw(Graphics g) {
g.setColor(Color.MAGENTA);
g.fillRect(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
g.setColor(Color.BLACK);
g.drawRect(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
}
当我想用
//
来注释它们时(我更喜欢使用行注释而不是块注释),我的做法是:
- 将光标放在
@
符号前面 Ctrl-V
:切换到进入块选择模式- 使用多次按下
j
选择到}
闭合括号的列 Shift-I
:进入块插入模式- 输入
//
ESC
退出Enter
完成命令
有没有更简单的方法,不需要进行块选择操作?我发现我可以使用替换命令,例如
:'<, '>s/^/\/\///g
,但这有两个问题:
- 打字很笨拙容易出错(需要转义多个正斜杠)
- 它将注释符号(
//
)放在行的开头(位置0),而不是首字符所在的位置(所以缩进会丢失)。
//
?
:s
命令在分隔符方面非常灵活,所以你可以选择#
而不是/
;另外,由于你每行只替换一次(在行首),g
标志没有起到任何作用;因此,这个简单的语句就可以工作了,而且不需要转义任何字符::'<,'>s#^#//
。 - undefined