verilog 实用的 gvim 编辑操作

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com

规范的 IC 流程中,在编写完设计文档后,后面的代码 Coding 工作对于设计工程师来说,大部分都是体力工作了,我们可以使用插件 / 宏操作等来提高我们的编码效率。

  1. reg/wire 型定义的处理;

    一般在写代码的时候,reg/wire 型都是随用随定义的,就会导致在模块很大的时候,最后将 reg/wire 型信号整理在一起是一件很麻烦的事情,我们可以通过 Gvim 提供的宏命令便捷的操作。

  • :/<reg>/ (选择 reg 型定义的字符)

  • 光标移动到第一个高亮的 reg 处,输入 “qa” 进行宏命令录制;

  • “dd” 删除第一个高亮的 reg 所在的行,之后按 “gg” 跳转到模块开始处,按 “P” 进行粘贴;

  • 之后按 “ctrl + o” 返回到之前光标所在的位置,按 “n” 跳转到下一个高亮的 reg 所在的行,之后按 “q” 退出宏命令录制;

  • 这样子的话,我们就将一个剪切 reg 型变量行到模块开始处并且自动跳转到下一个 reg 型变量的宏命令录制好了;

  • 之后根据自己的需要输入宏命令执行的次数即可。比如还有 15 个 reg 型需要进行整理,那么输出 “15@a” 就可以将宏命令执行 15 次;

  • 最后的话,就是将 module 开始处的 reg 型变量全部剪切到需要统一定义的地址即可;

2. 逗号或者封号对齐

在接口信号以及内部寄存器 / 信号定义的时候,经常都是不对齐的,一般在代码完全写完之后再进行处理;

常见的方式有两种,一是利用 gvim 提供的插件进行处理,二是利用宏命令录制,自己来调整代码的对齐方式;

这里推荐的插件的话,推荐 Tabular,详细的安装教程大家可以百度一下~

利用宏命令

  • 输入 “: /[” 搜索所有带位宽的信号定义,光标跳转到第一个高亮的 “[” 处,按 “q” 进行宏录制。

  • 按 “100i 30d|” 命令进行操作,将 “[” 删除到指定列。“100i” 代表插入 100 个空格(注意此处有个空格), 代表进行命令模式,“30d|” 代表一直删除到第 30 列。

  • 按 “nn” 跳转到下一个 “[” 处,按 “q” 进行退出宏命令录制,之后根据自己的需求执行次数即可。

  • 之后将光标移动到第一个信号定义处的行首,输入 “: /[0-9a-z_A-Z]\S;$” 匹配信号定义到结尾处;

  • 按 “qb” 进行命令录制,按 “n” 既可跳转到信号名处,输入 “100i 50d|”,之后按 “ww” 跳转到封号处,输入 “100i 80d|”,最后,按 “n” 跳转到下一个信号名处,按 “q” 退出命令录制既可。

  • 之后,根据自己的需求执行次数即可。

3. 代码之间跳转

代码之间跳转推荐大家使用 vim 自带的 ctags 工具,比较好用;

4. 文件列表之间跳转

比如在 filelist 里面,想要直接进入某个文件的话,可以通过全选方式文件路径,按 “gf” 可以跳转到对应的文件中,之后想退出的话按 “ctrl + ^” 返回源文件即可,配合 ctags 更加的方便~

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

观芯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值