虚拟机:VMware-workstation-full-14.0.0.24051
环 境:ubuntu 18.04.1
本文适合在linux环境下,进行verilog 代码开发时,对vim用户配置文件“.vimrc”进行编写,配置vim编辑器语法高亮、文件类型检测、显示行号、括号匹配、tab缩进和调用别名文件等,可提高设计开发的效率。
.vimrc文件是配置vim编辑器功能开、关的配置文件。一般分为两类:系统配置和用户配置。
cyl@cyl-virtual-machine:~$ cd /usr/share/vim/
cyl@cyl-virtual-machine:/usr/share/vim$ ls -a
. .. addons gvimrc registry vim80 vimfiles vimrc vimrc.tiny
在跟目录创建.vimrc文件,由于该文件是隐藏文件,所以需要使用ls -a才会显示出来。
cyl@cyl-virtual-machine:~$ cd ~
cyl@cyl-virtual-machine:~$ touch .vimrc
cyl@cyl-virtual-machine:~$ ls -a
.vimrc
下面是我的.vimrc常用配置文件的全部内容,会逐条进行解释。
colorscheme desert
syntax on
filetype on
au BufRead,BufNewFile *.sv set filetype=systemverilog
au BufRead,BufNewFile *.v set filetype=verilog
set number
set autoindent
set ts=2
set expandtab
set shiftwidth=4
autocmd FileType make set noexpandtab
set hlsearch
set cursorline
set cursorcolumn
set guifont=Monospace\ 16
inoremap ( ()<Esc>i
inoremap { {}<Esc>i
inoremap [ []<Esc>i
inoremap " ""<Esc>i
source ~/.vim/user/alias.vim
cyl@cyl-virtual-machine:~$ gvim .vimrc
博主使用的是desert配色,其他配色可以通过vim菜单栏Edit,Color Scheme 查看,点击具体配色可以立即查看,但是下一次重启之后就会恢复原来的配色,要想一直生效,则需要修改下面的配置项“desert”,替换成自己想要的即可,保存,重新打开即会生效。
colorscheme desert
如果不设置,在编写RTL时,显示的文字都将是一个颜色。
syntax on
filetype on
au BufRead,BufNewFile *.sv set filetype=systemverilog
au BufRead,BufNewFile *.v set filetype=verilog
syntax on是语法高亮的意思;filetype on文件类型识别;au是autocmd的缩写,BufRead和BufNewFile是触发自动命令的事件。BufNewFile是创建一个新文件,BufRead是将文件读入一个新缓冲区时触发。如:au BufRead,BufNewFile *.sv set filetype=systemverilog的意思是,当检测到文件类型是.sv结尾的文件时,将符合systemverilog语法的地方将高亮显示。
set number
set autoindent
重要
]set ts=2
set expandtab
目的是为代码整齐美观,由于每个人设置的tab缩进量不同,所以当你的代码换到别人的设备中打开时,可能就没有对齐,比较乱。这个时候,就需要设置空格替代tab,因为空格大家都一样。set ts=2:ts是tabstop的缩写,按一次tab键显示的宽度;set expandtab:设置之后,会把一个 tab 字符替换成 tabstop 选项值对应的数值空格。上面就是把按一次tab键缩进两个空格。
set hlsearch
set cursorline
set cursorcolumn
set hlsearch:在vim的一般模式下,搜索某字符,这个字符将在文中高亮显示;set cursorline:光标所在行高亮显示;set cursorcolumn:所在列高亮显示,这个设置很有用。
set guifont=Monospace\ 16
set guifont=Monospace\ 16:其中Monospace为字体名,16为字号,注意\和16之间有一个空格
inoremap ( ()<Esc>i
inoremap { {}<Esc>i
inoremap [ []<Esc>i
inoremap " ""<Esc>i
在i模式下,按下左边的符号,会自动输入左右两边的符号,很好用的设置。
source ~/.vim/user/alias.vim
【推荐】这个设置很有用,由于在设计过程中存在大量的重复工作,如果每次都输入一遍会很浪费时间,这时候如果提前设置好,按下快捷键就能调用相应的自定义块,可以节省大量时间,同时提高设计的效率。这个只是调用的别名文件(alias)的一个设置,详细见下一章内容。
我的别名文件创建在 ~/.vim/user/alias.vim,下面先看看我平常设置的别名文件里的内容:
iab al_ <ESC>:r ~/.vim/user/always.v<cr>
iab mo_ <ESC>:r ~/.vim/user/module.v<cr>
iab an_ <ESC>:r ~/.vim/user/annotation.v<cr>
iab fs_ <ESC>:r ~/.vim/user/fsdb.v<cr>
iab tb_ <ESC>:r ~/.vim/user/tb.v<cr>
iab cyl_ <ESC>:r ~/.vim/user/cyl.v<cr>
iab cl_ <ESC>:r ~/.vim/user/clk.v<cr>
iab rs_ <ESC>:r ~/.vim/user/rst.v<cr>
"ab model
"iab edit model
"<cr> new line
"
以第一条为例:iab al_ :r ~/.vim/user/always.v,在vim编辑器edit 模式下,输入“al_”,再按下“ESC”键,路径~/.vim/user/下的always.v文件里的内容将会被调用,这就大大避免了重复的工作。
按“i”,进入编辑模式
输入“al_”
按下“ESC”,~/.vim/user/always.v的内容将调用出来
小结:因此提前设置好相关内容,就可大大提高设计开发效率,还有其他设置,自行摸索,如果有其他好用的设置,欢迎留言。
作者:xlinxdu
版权:本文版权归作者所有
转载:欢迎点赞、评论和转载,但未经作者同意,必须保留此段声明,必须在文章中给出原文连接。