参考地址: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. Localize UI Elements 汉化界面(本地化)

    In this lesson, you will learn the basics of localizing visible UI elements. By default, the applica ...

  2. Android 使用 aapt 命令查看 apk 包名

    一.aapt 是什么 aapt 即Android Asset Packaging Tool,在SDK的build-tools目录下.该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, ...

  3. SQL Server Agent作业执行CmdExec(bat)命令报权限问题

    写了一个bat命令,定期去清理一些SQL Server的Dump文件,然后配置成SQL Server作业,作业执行时报权限错误,具体错误信息如下所示: Message Executed as user ...

  4. How to Create Transportable Tablespaces Where the Source and Destination are ASM-Based (Doc ID 394798.1)

    How to Create Transportable Tablespaces Where the Source and Destination are ASM-Based (Doc ID 39479 ...

  5. Linux系统学习 二十、SAMBA服务—介绍、安装、端口

    1.简介 网络数据文件共享服务器 可以和Windows中的网上邻居通用 数据共享的方法: Windows中最常用的是“网上邻居”.网上邻居使用的文件系统是CIFS(通用互联网文件系统)协议进行数据共享 ...

  6. java中使用lambda表达式

    使用lambda表达式能够使复杂的编写方式变的简单 lambda表达式的语法 (parameters) -> expression 或 (parameters) ->{ statement ...

  7. 卸载/更新HP Client Security Manager失败的解决方案(解决错误1722:软件包存在问题……)

    问题:当卸载较老版本/更新较老版本的HP Client Security Manager时可能会出现下图所示的错误: 解决方案:按Win+R键打开运行窗口,输入regedit回车进入注册表编辑器,依次 ...

  8. RTX5的汽车级,工业级,医疗和铁路安全认证已经通过,证书已颁发

    说明: 1.当前RTX5的教程已经在制作中,使用CMSIS-RTOS V2封装层,含FreeRTOS,配套V7,V6和V5板子​. 2.我们各种开发板和模块的资料汇总贴,搞了个cnblogs,临时先用 ...

  9. Java每日一面(Part1:计算机网络)[19/10/21]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.UDP简介 1.1UDP报文结构: ​ Source Port:源端口 Destination Port:目标端口 Length:数据包长度 C ...

  10. python爬虫网页解析之lxml模块

    08.06自我总结 python爬虫网页解析之lxml模块 一.模块的安装 windows系统下的安装: 方法一:pip3 install lxml 方法二:下载对应系统版本的wheel文件:http ...