vim 删除 lambda 变量并阻止
vim delete lambda variable and block
我首先有光标 t
,我想删除从 t
到 };\n
的所有代码,而不计算行数。
如何实现?有没有比 d/};[ 更干净的方法=21=]$/e?
tabControl.PropertyChanged += (s, e) =>
{
...
};
如果重要的话,这是 C#。
这是一种通过 3 个步骤获得所需输出的更简洁的方法:
1。先在普通模式下点击dd删除第一行:
tabControl.PropertyChanged += (s, e) =>
因此,下一行将在光标所在的位置上移
{
注意光标必须放在开头 { 这样您就可以使用 %
命令,正如您将在第 2 步中看到的那样
2。输入Shift+v%(对于selection) 因此您可以确定确切的块 {} 将 selected
{
...
};
注意:是V
(大写)不是v
两个命令有区别
v Start Visual mode per character.
V Start Visual mode linewise.
3。然后键入 d :删除 selected 块
所以序列将是 dd Shift+v %d
您还可以通过在命令行中键入
查看帮助以了解 %
的实际作用
:help %
% : Find the next item in this line after or under
the
cursor and jump to its match. |inclusive| motion.
Items can be:
([{}]) parenthesis or (curly/square) brackets
我试图在一些有用的命令下划线,但如果您确切理解 V
和 %
你可以 select 直接删除或修改整个块吗
最快的方法可能是 Vj%d
,但请参阅下文了解适用于许多情况的较短选项。
V
= 输入 Visual line mode.
j
= 向下一个字符。
%
= 转到匹配的大括号。
d
= 删除选择。
或者,如果 lambda 中没有空行,但后面有一个空行,我会使用 d}
(}
转到 'end of paragraph',这通常表示下一个空行)或 dap
(neumonic:'delete all paragraph',可以在 'paragraph' 中的任何地方工作,假设您的函数前后都有空行)。 dap
对于删除短代码块非常有用。
另请注意,如果存在由 };
终止的嵌套 lambda,您的解决方案将不起作用。
我首先有光标 t
,我想删除从 t
到 };\n
的所有代码,而不计算行数。
如何实现?有没有比 d/};[ 更干净的方法=21=]$/e?
tabControl.PropertyChanged += (s, e) =>
{
...
};
如果重要的话,这是 C#。
这是一种通过 3 个步骤获得所需输出的更简洁的方法:
1。先在普通模式下点击dd删除第一行:
tabControl.PropertyChanged += (s, e) =>
因此,下一行将在光标所在的位置上移
{
注意光标必须放在开头 { 这样您就可以使用 %
命令,正如您将在第 2 步中看到的那样
2。输入Shift+v%(对于selection) 因此您可以确定确切的块 {} 将 selected
{
...
};
注意:是V
(大写)不是v
两个命令有区别
v Start Visual mode per character.
V Start Visual mode linewise.
3。然后键入 d :删除 selected 块
所以序列将是 dd Shift+v %d
您还可以通过在命令行中键入
查看帮助以了解%
的实际作用
:help %
% : Find the next item in this line after or under the cursor and jump to its match. |inclusive| motion. Items can be: ([{}]) parenthesis or (curly/square) brackets
我试图在一些有用的命令下划线,但如果您确切理解 V
和 %
你可以 select 直接删除或修改整个块吗
最快的方法可能是 Vj%d
,但请参阅下文了解适用于许多情况的较短选项。
V
= 输入 Visual line mode.j
= 向下一个字符。%
= 转到匹配的大括号。d
= 删除选择。
或者,如果 lambda 中没有空行,但后面有一个空行,我会使用 d}
(}
转到 'end of paragraph',这通常表示下一个空行)或 dap
(neumonic:'delete all paragraph',可以在 'paragraph' 中的任何地方工作,假设您的函数前后都有空行)。 dap
对于删除短代码块非常有用。
另请注意,如果存在由 };
终止的嵌套 lambda,您的解决方案将不起作用。