假设您想从名称中删除一个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
- 删除选择