当前位置:   article > 正文

gvim写verilog环境搭建——将文本编辑器客制化定义为你自己的IDE_gvim配置verilog环境

gvim配置verilog环境

本文将详细描述将vim变成写Verilog代码的IDE客制化的实现过程,同时最后提供自己的环境。实现的过程中有使用自己写的,也有参考借鉴其他同学进行一定的修改,也有直接使用插件实现的相关功能。对应的功能实现部分均会给出相应的参考与插件地址等有关该功能的实现信息。有兴趣的同学可以据此,在此基础上实现适合自己的IDE工具。
都是慢慢抄,慢慢学,慢慢修改,千万记得自己总结,抄到的才是自己的~
本文篇幅较长,会慢慢更新

概述

本文将分享使用gvim写verilog一系列的方便编码工具,将vim打造成一个IDE(IDE 是 Integrated Development Environment 的缩写,中文称为集成开发环境,用来表示辅助程序员开发的应用软件,是它们的一个总称。)目的是使得编码过程中任何让你觉得繁琐的,重复性劳动,全部交给工具做,帮助更快更好的实现你的目标。这里笔者个人经验感觉哈,若是有些你觉得感觉繁琐的,愚蠢的操作,一定时没有使用正确的方式去做这件事~可以思考优化下做事的方式
关于VIM的版本建议linux下使用8.2以上的版本,windows使用最新的版本。更高的版本VIM进行了很多优化,其中重要的两个:1,支持插件管理(可以使得使用管理插件的方式更为便捷) 2,加入了异步执行命令的机制。关于版本的问题更详细的可以查看vim.org上有关版本更新的日志。这里不多进行赘述。

特性

组为个性化的定制,笔者定义实现的所有功能如下所示:

  • 基本的映射
  • 快速生成端口列表(input、output)
  • 自动生成实例化模板,自动对齐
  • 定义版权,作者,模块名称
  • 状态栏配置,buffer栏的快速切换,删除
  • 括号自动补全,括号颜色特征不同
  • 目录结构显示
  • 中文doc文件代替
  • 查找单词在当前目录下其他文件下的使用位置
  • 自动仿真脚本模板
  • 自动实现顶层集成
  • 自动生成端口列表
  • 自动生成仿真代码脚本优化
  • 基本的语法检查功能

完整效果演示

下图是展示vim的完整配置使用展示图,包括文本编辑区的代码高亮,括号高亮等,buffer的展示,代码error,warning的展示,状态栏的信息展示,中文doc文件展示,文件目录窗口等。
完整配置演示

实现方式与演示

基本的映射

这部分就是除去函数,复杂映射之外,更为基础的vimrc配置。关于vimrc的介绍请参见GVIM基础教程——vimscript编程初步,下图是基本的配置图,所有的配置与使用方式均有相关的注释。
vimrc配置

  • 实现了将jk映射到ESC。这是唯一的基本映射
  • 快速编辑执行vimrc配置的快捷键
nnoremap <leader>ev :vsplit $MYVIMRC<cr>
nnoremap <leader>sv :source $MYVIMRC<cr>
  • 1
  • 2
  • 添加折叠功能,使得整体配置看起来相对独立清晰。移动到折叠的行,使用za可以打开关闭折叠。

快速生成端口列表(input、output)

功能演示

实现背景

在编码的时候,我们已经有了接口信息,一般在设计详述中包括位宽,信号名称,输入输出,功能描述这些信息,我们只需要将这些信息经过简单的处理,即可简单的实现端口的定义。处理的形式如上图功能演示部分的形式。这个功能很简单,功能实现使用的是较为复杂的映射来实现的。可自行参考配置实现的方式。

使用方式

使用,ii,oo来分别实现对输入输出的定义

自动生成实例化模板,自动对齐

功能演示

实现背景

使用方式

定义版权,作者,模块名称

功能演示

实现背景

使用方式

状态栏配置,buffer栏的快速切换,删除

括号自动补全,括号颜色特征不同

目录结构显示

中文doc文件代替

查找单词在当前目录下其他文件下的使用位置

自动仿真脚本模板

自动实现顶层集成

自动生成端口列表

自动生成仿真代码脚本优化

基本语法检查功能

该功能使用的插件是Ale(Asynchronous Lint Engine 异步lint引擎),该插件是非常优秀的异步代码检查工具,支持众多编码语言。这里的异步是指他的进行过程是在后台自行进行的,不会影响到你当前对于vim的操作,vim在8.1版本后推出了异步执行命令的机制,以此为基础的代码包括大名鼎鼎的Youcompleteme, Ale。Ale项目地址如下:https://github.com/dense-analysis/ale,点击这里访问。个人理解就是插件会调用可以使用的linter(语法检查工具),然后将其输出的检查信息整理展示出来,达到一个语法检查的目的。其中linter需要自行安装。跟详细的使用以及关于ale的介绍见这里 ALE的基本介绍、使用与配置

其他tips

更聪明的自动补全功能
任意自加数的生成
遇见插件在linux下报错^M的问题
注意将Tab替换为空格键
查看vim版本,支持的接口等

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/516719
推荐阅读
相关标签
  

闽ICP备14008679号