参考地址:http://www.huangdc.com/421

参考文章为2016年,部分更新贴于文章内了

  • 安装下载vim

vim在win下叫gvim,下载地址:https://www.vim.org/download.php

安装时可以选择更改目录(我把安装目录设置为E:\gvim)

1.安装时注意选择‘Full’ option。

2.在vimfiles 文件夹下,会有许多空文件夹。将它们全删掉。

3.将vim81文件夹下的“autoload”文件夹 剪切 到 vimfiles 文件夹下。

4.在vimfiles 文件夹下新建文件夹 bundle。

  • vim插件管理工具vundle

一开始我按照参考链接来进行,却出现错误:error:1407742E

解决办法:

1.下载最新版本的git,据说是 GitHub 不再支持TLSv1/TLSv1.1了,并配置curl

2.先设置vim环境变量

我的电脑->属性->高级系统设置->高级->环境变量->新建,如图(指向gvim的安装目录vim81文件夹)

3.用新的git clone地址

目标路径为bundle文件夹路径

4.出现错误RPC fail;curl 56 openssl......

原因:http缓存不够或者网络不稳定等

解决办法:

(1)增大buffer:git config --global http.postBuffer 524288000

(2)压缩配置:git config --global core.compression -1(好像可以不加)

(3)查询git配置信息:git config -l

(另外吐槽一句,百度搜索引擎真的是垃圾。。很多问题谷歌一搜索关键词就能解决了)

到这里Vundle算clone完成了(另外记得把墙断开再clone)

  • 插件安装

在vim启动配置文件_vimrc添加配置

PS:其他插件下载到bundle文件夹下相应路径,添加配置,安装后即可在vim里使用

  • 常用插件

1.vundle插件管理工具

配置vimrc后,安装插件

相关指令:

安装插件:BundleInstall
更新插件:BundleUpdate
清除不再使用的插件:BundleClean
列出所有插件:BundleList
查找插件:BundleSearch

2.NerdTree文件目录插件

(安装NerdTree以后重启gvim总是会报一个变量缺失的错误,最后没弄出来就把NerTree卸载了,以后有空的时候再倒腾吧)

  • verilogHDL IDE定制

原参考链接:https://www.cnblogs.com/ninghechuan/p/8505942.html

1.新建.v、.sv文件时自动加载头文件

在_vimrc添加

$VIM为在环境变量设置的gvim全局路径,新建template文件夹并添加v.tlp

v.tlp为新建.v文件加载头文件模板(打码处为个人信息,自己改过来就行了)

修改完后,保存,下次新建.v文件时就会自动加载模板的内容

2.ab定制关键词插入模板

在_vimrc添加

那么在文件插入模式下输入关键字就会显示对应的模板,编辑格式为:ab+空格+关键词+空格+模板,换号为<Enter>,把Tab改为自动空4格,<Tab>就是自动空四格

3.vivado\ISE自动调用gvim编辑器

个人用的是vivado2017.1版本,调用gvim跟链接提供的方法有点不一样,设置方法依然是tool->setting->text editor

注意找对gvim的位置

4.简化版的_vimrc

最后贴一下我自己的vimrc配置吧,属于一个初步可以使用版本,然后后续会做一些sv插件或者个性化的配置再慢慢扩展一下,简化版本是应急用的

source $VIMRUNTIME/vimrc_example.vim

"插件配置
set nocompatible
filetype off
set rtp+=$VIM/vimfiles/bundle/Vundle.vim
call vundle#begin('D:\gvim\Vim\vimfiles\bundle')
" add your plugin here
Plugin 'VundleVim/Vundle.vim' " required
Plugin 'scrooloose/nerdtree' " file/directory treee
Plugin 'scrooloose/nerdcommenter' " code commenter
Plugin 'kien/ctrlp.vim' " Fuzzy file, buffer, mru, tag, etc finder
Plugin 'altercation/vim-colors-solarized' " solarized theme
call vundle#end() " required
filetype plugin indent on " required

set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg1 = substitute(arg1, '!', '\!', 'g')
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg2 = substitute(arg2, '!', '\!', 'g')
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let arg3 = substitute(arg3, '!', '\!', 'g')
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
let cmd = substitute(cmd, '!', '\!', 'g')
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction

"显示方案
set shortmess=atI "不显示乌干达
syntax enable
syntax on "语法高亮
colorscheme darkblue "配色方案
set showmode "显示模式
set showcmd "显示命令
set nu "显示行号
set cursorcolumn "高亮光标所在行列
set cursorline
let &termencoding=&encoding "防止乱码
set fileencodings=utf-8,gbk,ucs-bom,cp936
set lines=70 columns=155 "设定窗口大小
set mouse=a "支持鼠标复制粘贴

"个性化
set tabstop=4 "tab代表4个空格键
set shiftwidth=4
set expandtab
set softtabstop=4
set showmatch "自动匹配括号
set nobackup "不创建备份文件
set noai "取消自动缩进和智能缩进
set noci "取消自动缩进和智能缩进
set nosi "取消自动缩进和智能缩进

"新建.v文件自动加载头文件模板
autocmd BufNewFile *.v 0r $VIM/vimfiles/template/v.tlp

"HDL定制
:ab fenge //==============================
:ab shixu always @(posedge clk or negedge rst_n) begin<Enter>if (rst_n == 1'b0) begin<Enter>end<Enter>else begin<Enter>end<Enter>end
:ab zuhe always @(*) begin<Enter>end

5.模块端口自动例化脚本

脚本下载链接:http://bbs.eetop.cn/viewthread.php?tid=344036

新发现一个比较好用的模块例化脚本,非常nice

跟参考链接的设置一样,在vimrc添加

在所需要例化的模块用指令输入

自动在粘贴板生成例化模块

win7+vim搭建+verilog HDL IDE的更多相关文章

  1. vim搭建C编程IDE

    曾经在一篇关于vim技巧的文章里有一句话:"世界上只有三种编辑器,EMACS.VIM和其它." 我不知道这是不是太过于绝对了,但是从我所看到的每一篇linux下编程以及文字编辑的文 ...

  2. 如何用Vim搭建IDE?

    推荐:http://harttle.com/2015/07/18/vim-cpp.html 转自:http://harttle.com/2015/11/04/vim-ide.html 一年前我从Vim ...

  3. 把vim当做golang的IDE

    开始决定丢弃鼠标,所以准备用vim了. 那么在vim里面如何搭建golang环境呢? git盛行之下,搭建vim环境是如此简单. 而且vim搭建好了之后,基本上跟IDE没有差别. 高亮.自动补全.自动 ...

  4. 【转】手把手教你把Vim改装成一个IDE编程环境(图文)

    手把手教你把Vim改装成一个IDE编程环境(图文) By: 吴垠 Date: 2007-09-07 Version: 0.5 Email: lazy.fox.wu#gmail.com Homepage ...

  5. 浅谈Verilog HDL代码编写风格

    消失了好久,没有写文章,也没有做笔记,因为最近再赶一个比赛,时间很紧,昨天周六终于结束了,所以趁着周末这会儿有时间,写点东西,记录下来.首先我学习FPGA才一年多,我知道自己没有资格谈论一些比较深层次 ...

  6. 如何高效的编写Verilog HDL——进阶版

    博主之前写过一篇文章来谈论如何高效的编写Verlog HDL——菜鸟版,在其中主要强调了使用Notepad++来编写Verilog HDL语言的便捷性,为什么说是菜鸟版呢,因为对于新手来说,在还没有熟 ...

  7. 使用 Vim 搭建 JavaScript 开发环境

    原文链接: https://spacevim.org/cn/use-vim-as-a-javascript-ide/ SpaceVim 是一个模块化的 Vim IDE,针对 JavaScript 这一 ...

  8. Sublime Text 2 和 Verilog HDL

    Sublime Text 2 和 Verilog HDL Date  Fri 04 July 2014 Tags Sublime Text / Vivado Sublime Text 代码编辑器之于程 ...

  9. 使用 Vim 搭建 C/C++ 开发环境

    原文链接: https://spacevim.org/cn/use-vim-as-a-c-cpp-ide/ SpaceVim 是一个模块化的 Vim IDE,针对 C/C++ 语言的支持主要依靠 la ...

随机推荐

  1. SpringCloud服务配置中心

    SpringCloud Config简介 Spring Cloud Config 是 Spring Cloud 团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持 ...

  2. Toggle the WinForms Ribbon Interface 切换 WinForms 功能区界面

    In this lesson, you will learn how to enable/disable the Ribbon User Interface in your application. ...

  3. CentOS7 安装Python3.6.8

    CentOS7 安装Python3.6.8 1. 安装依赖环境 yum -y groupinstall "Development tools" yum -y install zli ...

  4. ES6.x

    类 class Animal{ constructor(name){ this.name=name } Spack(){ console.log(name) } } class Dog extends ...

  5. (办公)记事本_Linux目录

    转载自菜鸟教程:https://www.runoob.com/linux/linux-system-contents.html /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令 ...

  6. C语言基本数据类型的转换

    变量的数据类型是可以转换的.转换的方法有两种,一种是自动转换,一种是强制转换.自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成.自动转换遵循以下规则:1) 若参与运算量的类型不同,则先转换 ...

  7. 数组类的创建——DynamicArray.h

    完成DynamicArray类的具体实现 DynamicArray设计要点——类模板 动态确定内部数组空间的大小 实现函数返回数组长度 拷贝构造和赋值操作 DynamicArray类的声明 templ ...

  8. IDEA中写MyBatis的xml配置文件编译报错的坑

    IDEA中写MyBatis的xml配置文件编译报错的坑 说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错 ...

  9. Python 从入门到进阶之路(二)

    之前的文章我们对 Python 语法有了一个简单的认识,接下来我们对 Python 中的 if while for 做一下介绍. 上图为 if 判断语句的流程,无论任何语言,都会涉及到判断问题,if ...

  10. Python菜鸟文本处理4种方法

    自从认识了python这门语言,所有的事情好像变得容易了,作为小白,逗汁儿今天就为大家总结一下python的文本处理的一些小方法. 话不多说,代码撸起来. python大小写字符互换 在进行大小写互换 ...