加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Vim中选择整个函数定义

发布时间:2020-12-15 16:14:04 所属栏目:安全 来源:网络整理
导读:我一直在尝试Vim的任何文本编辑工作近一个星期。我想知道选择C函数定义的最快方法。 例如,如果我有一个这样的功能: void helloworlds( int num ){ int n; for ( n = 0; n num; ++n ) { printf( "Hello World!n" ); }} 我如何能够删除整个定义,包括函数名
我一直在尝试Vim的任何文本编辑工作近一个星期。我想知道选择C函数定义的最快方法。

例如,如果我有一个这样的功能:

void helloworlds( int num )
{
    int n;
    for ( n = 0; n < num; ++n ) {
        printf( "Hello World!n" );
    }
}

我如何能够删除整个定义,包括函数名?

正如在Vim中常见的,有一堆方法!

注意,前两个解决方案取决于没有空白行。

>如果您的光标位于带有函数名称的行上,请尝试d}。它将删除到下一个块(即你的函数体)的一切。
>在函数体中,dap将删除’paragraph’。
>可以使用da}删除花括号块。 (如果你喜欢这种语法,我推荐Tim Pope的梦幻般的surround.vim,它增加了更多的功能与类似的感觉)。
>你也可以尝试使用正则表达式来删除,直到下一个左边缩进关闭大括号:d / ^}回车
>]]和[[移动到下一个/上一个第一列大括号(相当于使用/和?与正则表达式我上面提到的组合d运动,你有相同的效果。 operators are redefined意味着你正在寻找:从功能到功能。

如何删除整个块,包括头

如果你在头/名称,或在块之前的行,da}应该做的伎俩。

如果你在一个块下,你还可以利用Vim搜索的方便的“偏移”功能。 d?^ {? – 1将在第一次出现第一列开口大括号之前向后删除一行。这个命令有点棘手的类型。也许你可以做一个< leader>快捷出来了。

插件

我不在Vim做很多C编程,但肯定有插件来帮助这样的事情。尝试Vim Scripts或他们的mirror at GitHub。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读