参考地址: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. 线程优先级,设置,setPriority()方法

    package seday08.thread;/** * @author xingsir * 线程优先级 * 线程启动后纳入到线程调度,线程时刻处于被动获取CPU时间片而无法主动获取.我们可以通过调整 ...

  2. hive操作简单总结

    Hive DDL.DML操作 背景介绍 • 一.DDL操作(数据定义语言)包括:Create.Alter.Show.Drop等. • create database- 创建新数据库 • alter d ...

  3. css里的背景属性有哪些,如何去使用哪些属性

    分类:纯色背景    背景图像 1.背景颜色 background-color : 任意合法的颜色 和 transparent 2.背景图像 background-image : url(想要加载的图 ...

  4. 产品经理如何使用 CODING 进行项目规划

    CODING 为您的企业提供从概念到软件开发再到产品发布的全流程全周期软件研发管理,为您的研发团队提供全程助力,帮助研发团队捋清需求.不断迭代.快速反馈并能实时追踪项目进度直到完成.同时 CODING ...

  5. SQL保留2位小数

    truncate(num, 位数); );

  6. Linux第二章-Linux常用命令

    一.Linux常用快捷键 快捷键 作用 Tab 补全文件名或者路径 Ctrl + L 清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容. Ctrl + C 终止当前进程 Ctrl + D 注 ...

  7. Vue.js中 watch(深度监听)的最易懂的解释

    <div> <p>FullName: {{fullName}}</p> <p>FirstName: <input type="text& ...

  8. [译]Vulkan教程(31)加载模型

    [译]Vulkan教程(31)加载模型 Loading models 加载模型 Introduction 入门 Your program is now ready to render textured ...

  9. IT兄弟连 HTML5教程 CSS3揭秘 CSS常见的样式属性和值3

    5  边框属性 边框属性用于设置一个元素的边框风格.边框宽度.边框颜色,可以一起设置4条边的边框,也可对上边框.右边框.下边框和左边框单独设置.分别介绍如下. a.边框风格属性 可以通过边框风格属性b ...

  10. ETCD:配置参数

    原文地址:Configuration flags etcd通过配置文件,多命令行参数和环境变量进行配置, 可重用的配置文件是YAML文件,其名称和值由一个或多个下面描述的命令行标志组成.为了使用此文件 ...