欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

在GVIM编辑器中,如何为begin和end代码块正确配对?

最编程 2024-02-29 13:56:25
...

2021.12.16

写在前面的话

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

第一个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目录下

cd ~/.vim

2. 新建两个文件夹

mkdir doc
mkdir plugin

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

cd /usr/share/vim/vim74/macros

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

cp ./macro/matchit.vim ~/.vim/plugin/

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

cp ./macro/matchit.vim ~/.vim/plugin/

6.打开.vimrc文件

gvim ~/.vimrc

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

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的位置。

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

推荐阅读