我一开始有光标,t
我想删除所有这些代码,t
而};\n
不用计算行数。
我怎样才能实现它?有比 更清洁的方法d/};$/e吗?
tabControl.PropertyChanged += (s, e) =>
{
...
};
如果重要的话,这就是 C#。
这是通过 3 个步骤获得所需输出的更简洁的方法:
1 . 首先在正常模式下单击dd以删除第一行:
tabControl.PropertyChanged += (s, e) =>
结果,下面的行将向上移动光标所在的位置
{
请注意,光标必须放在开头{这样您就可以使用%
命令,如您将在第 2 步中看到的那样
2 . 键入Shift+ v %(用于选择),这样您就可以确定将选择确切的块{}
{
...
};
注意:是V
(大写)v
这两个命令没有区别
v 按字符启动可视模式。
V 逐行启动可视模式。
3 . 然后键入d:删除选定的块
所以序列将是dd Shift+v %d
%
您还可以通过在命令行中键入来查看帮助以了解实际操作
:help %
%:在光标之后或光标下查找此行中的下一项并跳转到其匹配项。|包含| 运动。项目可以是:([{}]) 括号或(大括号/方括号)
我试图在一些有用的命令下划线,但如果你完全理解V
和%
做什么,你可以直接选择你想删除或修改的整个块
最快的方法可能是Vj%d
,但请参阅下面的在许多情况下有效的较短选项。
V
= 进入视觉线模式。j
= 下降一个字符。%
= 转到匹配的大括号。d
= 删除选择。或者,如果 lambda 中没有空行,但后面有一个空行,我会使用d}
( }
is go to 'end of paragraph',这通常意味着下一个空行) 或dap
(neumonic: 'delete all paragraph ',假设您的函数前后有空行,则适用于“段落”中的任何位置)。dap
对于删除短代码块非常有用。
另请注意,如果嵌套的 lambda 以};
.