前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >gvim中如何给begin...end配对

gvim中如何给begin...end配对

作者头像
用户10108023
发布2022-10-28 16:16:18
1.6K0
发布2022-10-28 16:16:18
举报

2021.12.16

写在前面的话

嗨,屏幕前的你还好吗?我是不二鱼,一个不喜欢写技术博客的IC验证工程师。这两天,我被begin...end折磨的没有人样了。我一直在改项目中的scoreboard,你能想象,一千多行的scoreboard中,有多少个begin......end吗?大概就是前面下面这个样子:

代码语言:javascript
复制
第一个begin

省略几百行代码......以及数不清的begin...end

                            end
                          end
                       end
                    end
                end
            end
        end
      end
   end
endfunction:xxxxxxxxx

我整个都傻掉了,中间我删了一些内容,因为不适用了,但一直报错,这工具不智能的一点就是,只告诉你有个错,然后就瞎指,一直报endfunction的错误。我大概猜到是begin...end由于我中间删了一些内容,导致没有配对成功,找了很久,而且中间的还有很多begin...end,但最后这些需要一一排查,是谁没有配对成功,真的是“千里之堤溃于蚁穴”,上上下下看,就是找不出。于是,我上网查有没有检查配对的工具,果然,gvim自带了,但是默认不安装(黑人问号)。但是经验帖真是他娘的不完全,藏着掖着,我综合了几篇文档,最后整出来了,特来分享给你们。

首先,我这是liunx环境,windows应该大同小异。这里我们需要两个很重要的文件,matchit.vimmatchit.txt

1.切到.vim目录下

代码语言:javascript
复制
cd ~/.vim

2. 新建两个文件夹

代码语言:javascript
复制
mkdir doc
mkdir plugin

3.找到那两个重要文件,一般都在usr的macro目录下,输入一下命令,切到macro目录下

代码语言:javascript
复制
cd /usr/share/vim/vim74/macros

4.将matchit.vim复制到plugin文件夹

代码语言:javascript
复制
cp ./macro/matchit.vim ~/.vim/plugin/

5.将matchit.txt复制到doc文件夹

代码语言:javascript
复制
cp ./macro/matchit.vim ~/.vim/plugin/

6.打开.vimrc文件

代码语言:javascript
复制
gvim ~/.vimrc

7.加入下面的语句,都是需要配对的关键词,你还想配什么自己加,注意格式。

代码语言:javascript
复制
let b:match_words =
    \ '\<begin\>:\<end\>,' .
    \ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' .
    \ '\<module\>:\<endmodule\>,' .
    \ '\<if\>:\<else if\>:\<else\>,' .
    \ '\<function\>:\<endfunction\>,' .
    \ '`ifdef\>:`else\>:`endif\>,' .
    \ '\<task\>:\<endtask\>,' .
    \ '\<program\>:\<endprogram\>,' .
    \ '\<specify\>:\<endspecify\>'

8.保存退出之后,打开新的文件,就可以进行匹配了。

问题来了,怎么配对,这里需要用到%,将光标停留在你想要配对的关键字,按%,就可以进行跳转。如停在begin按下%,就会跳到与之配对的end的位置,再按一下%,就可以回到begin的位置。

好了,今天的分享就到这里了,希望对你的学习有一点帮助。持续更新,欢迎关注。觉得有帮助的朋友,希望能够点个赞鼓励一下!!你的每个鼓励都是我持续创作的动力!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 不二鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档