"-------------------------- general config -------------------------- " 设置softtabstop有一个好处是可以用Backspace键来一次 " 删除4个空格. softtabstop的值为负数,会使用shiftwidth " 的值,两者保持一致,方便统一缩进. set softtabstop=-1 set expandtab " tab字符替换成空格 set tabstop=4 " 设置tab字符的长度为4 set shiftwidth=4 " 自动缩进时,缩进长度为4 set nobackup " 不需要备份备份 set noswapfile " 不需要临时交换文件 set backspace=indent,eol,start " 正常使用backspace set nocompatible " 不兼容vi autocmd FileType * setlocal formatoptions-=cro " 取消自动注释 "autocmd BufNewFile *.v 0r ~/.vim/templates/tempfirverilog.v " 创建.v文件时,自动调用模板
"-------------------------- display config -------------------------- syntax on " 语法高亮 set number " 显示行号 set cursorline " 突出显示当前行 set guifont=Monospace\ Regular\ 10 " 设置字体 set guioptions-=T " 隐藏工具栏 set guioptions-=m " 隐藏菜单栏 set guioptions-=r " 隐藏右侧滚动条 set guioptions-=R set guioptions-=l set guioptions-=L set guioptions-=b set laststatus=2 " 总是显示状态行 "set fileencodings=utf-8,cp936,big5,latin1 " 遇到中文乱码时打开
"NERDTree "F3打开/关闭文件浏览器 nmap <F3> :NERDTreeToggle <CR> "NERDTree配置 let NERDChristmasTree=1 "显示增强 let NERDTreeAutoCenter=1 "自动调整焦点 let NERDTreeShowFiles=1 "显示文件 let NERDTreeShowLineNumbers=1 "显示行号 let NERDTreeHightCursorline=1 "高亮当前文件 let NERDTreeShowHidden=0 "显示隐藏文件 let NERDTreeMinimalUI=0 "不显示'Bookmarks' label 'Press ? for help' let NERDTreeWinSize=31 "窗口宽度
let g:NERDTreeIgnore = ['xsim.dir','work','xvlog.log','xvlog.pb'] "不显示文件夹和文件
"automatic "\ati进行例化、\atd例化寄存器和线网 map \ati :call g:AutoParaValue(0)<Esc>:call g:AutoInst(0)<Esc> map \atw :call g:AutoDef()<Esc> let g:atu_autoinst_keep_chg = 1 " 修改过的连线保留不刷新 let g:atv_autoinst_incl_width = 0 " 不添加多bit位宽 let g:atv_autoinst_incl_cmnt = 0 " 不添加//注释 "对齐位置 let g:atv_autopara_st_pos = 0 " 参数起始位置 let g:atv_autopara_name_pos = 40 " 参数左括号对齐位置 let g:atv_autopara_sym_pos = 71 " 参数右括号对齐位置 let g:atv_autoinst_st_pos = 0 " 信号起始位置 let g:atv_autoinst_name_pos = 40 " 信号左括号对齐位置 let g:atv_autoinst_sym_pos = 71 " 信号右括号对齐位置 let g:atv_autodef_st_pos = 0 " Reg&Wire起始位置 let g:atv_autodef_name_pos = 52 " Reg&Wire名称对齐位置 let g:atv_autodef_sym_pos = 72 " Reg&Wire分号对齐位置
ultisnips
该插件是将自己写的代码片段定义为某个关键词,通过这种方式缩短重复编写代码
1 2 3 4 5
"UltiSnip let g:UltiSnipsSnippetDirectories = ["D:/gvim/Vim/vim_plugin/vim-snippets"] let g:UltiSnipsExpandTrigger="<tab>" let g:UltiSnipsJumpForwardTrigger="<c-j>" let g:UltiSnipsJumpBackwardTrigger="<c-k>"
//======================================================================= // // Process // //======================================================================= always @(posedge clk) begin if(rst == 1'b1) begin
end else begin
end end
endmodule
endsnippet
snippet generate "generate for(i=0;i<N;i=i+1) begin" genvar i generate for(i=0;i<N;i=i+1) begin