假设您想从名称中删除一个C函数,直到并包括带有结束花括号的行:
int main (void) /* Cursor on this line. */
{
while (...) {
...
}
}
我已经尝试过d/^}<CR>,但这并没有删除带有结束卷曲的行。如何进行包容性查找模式删除?我一定错过了一些简单的东西。
编辑您可以假设函数的结束卷曲位于行首,而其他卷曲永远不会。
假设您想从名称中删除一个C函数,直到并包括带有结束花括号的行:
int main (void) /* Cursor on this line. */
{
while (...) {
...
}
}
我已经尝试过d/^}<CR>,但这并没有删除带有结束卷曲的行。如何进行包容性查找模式删除?我一定错过了一些简单的东西。
编辑您可以假设函数的结束卷曲位于行首,而其他卷曲永远不会。
使用V][d.
它的意思是:
}您的命令不适用于具有嵌套大括号的函数。我会删除到第一个 '{' 0d]],然后daB删除块。
新 vimers 的详细信息:第'0'一个命令中的 确保您在编辑d命令之前位于行首。 ']]'是一个让您进入下一个块'aB'的动作,并且是一个选择整个块的选择动作,包括嵌套块。所以0d]]daB意味着从行首删除到下一个块,然后删除该块。
你可以做jVaBokd
j- 下移一条线
VaB- 外块上的视线选择
o- 移动到视觉选择的另一端
k- 向上移动一条线
d- 删除选择