gvim配置

对linux的环境的设置
更改设置的方法,现在输入栏输入下面的

g ~/.vimrc

直接将下面的配置复制进去

set fileencodings=utf-8,ucs-bom,gb18030.gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8

set fenc=utf-8
set fencs=utf-8,ucs-bom,gb18030.gbk,gb2312,cp936
au BufRead,BufNewFile *.sv set filetype=systemverilog
highlight StatusLine guifg=StateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White

set mousehide
set showcmd
set nu ruler
set shiftwidth=3
set tabstop=3
set expandtab
set clipboard=autoselect
set linebreak
set scrolloff=0
set autoindent
set smartindent

syntax on
filetype on
filetype plugin on
filetype indent on

set nocompatible

color desert
map tn :tabnew.<cr>
map gb <c-^?
imap <tab> <c-p>

set cuc
set cul
set nu
set history=400
set autoread

set foldmethod=marker

iab xd <c-r>=strftime("%c")<cr>
iab nd <c-r>="Modified by zer0hz @".strftime(%c)<cr>

set selectmode=mouse,key
set backspace=indent,eol,start

设置systemVerilog相关高亮文件

设置文件存放位置

mkdir -p ~/.vim/ftdetect
mkdir -p ~/.vim/syntax

设置syntax

在vim文件夹syntax中设置systemVerilog.vim文件把下面内容放进去

" Vim syntax file
" Language: SystemVerilog
" Maintainer: Stephen Hobbs <stephenh@cadence.com>
" Last Update:  Wed Jun 14 15:56:00 BST 2006
" Built on verilog.vim from vim63

" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
   syntax clear
elseif exists("b:current_syntax")
   finish
endif

" Set the local value of the 'iskeyword' option
if version >= 600
   setlocal iskeyword=@,48-57,_,192-255
else
   set iskeyword=@,48-57,_,192-255
endif

" Taken from the SystemVerilog 3.1a Annex B:
syn keyword systemverilogStatement   alias always always_comb always_ff always_latch
syn keyword systemverilogStatement   and assert assign assume automatic before begin
syn keyword systemverilogStatement   bind bins binsof bit break buf bufif0 bufif1
syn keyword systemverilogStatement   byte case casex casez cell chandle class clocking
syn keyword systemverilogStatement   cmos config const constraint context continue cover
syn keyword systemverilogStatement   covergroup coverpoint cross deassign default
syn keyword systemverilogStatement   defparam design disable dist do edge else end
syn keyword systemverilogStatement   endcase endclass endclocking endconfig endfunction
syn keyword systemverilogStatement   endgenerate endgroup endinterface endmodule
syn keyword systemverilogStatement   endpackage endprimitive endprogram endproperty
syn keyword systemverilogStatement   endspecify endsequence endtable endtask enum event
syn keyword systemverilogStatement   expect export extends extern final first_match for
syn keyword systemverilogStatement   force foreach forever fork forkjoin function generate
syn keyword systemverilogStatement   genvar highz0 highz1 if iff ifnone ignore_bins
syn keyword systemverilogStatement   illegal_bins import incdir include initial inout
syn keyword systemverilogStatement   input inside instance int integer interface intersect
syn keyword systemverilogStatement   join join_any join_none large liblist library local
syn keyword systemverilogStatement   localparam logic longint macromodule matches medium
syn keyword systemverilogStatement   modport module nand negedge new nmos nor
syn keyword systemverilogStatement   noshowcancelled not notif0 notif1 null or output
syn keyword systemverilogStatement   package packed parameter pmos posedge primitive
syn keyword systemverilogStatement   priority program property protected pull0 pull1
syn keyword systemverilogStatement   pulldown pullup pulsestyle_onevent pulsestyle_ondetect
syn keyword systemverilogStatement   pure rand randc randcase randsequence rcmos
syn keyword systemverilogStatement   real realtime ref reg release repeat return
syn keyword systemverilogStatement   rnmos rpmos rtran rtranif0 rtranif1 scalared sequence
syn keyword systemverilogStatement   shortint shortreal showcancelled signed small solve
syn keyword systemverilogStatement   specify specparam static string strong0 strong1 struct
syn keyword systemverilogStatement   super supply0 supply1 table tagged task this
syn keyword systemverilogStatement   throughout time timeprecision timeunit tran
syn keyword systemverilogStatement   tranif0 tranif1 tri tri0 tri1 triand trior trireg type
syn keyword systemverilogStatement   typedef union unique unsigned use var vectored virtual
syn keyword systemverilogStatement   void wait wait_order wand weak0 weak1
syn keyword systemverilogStatement   while wildcard wire with within wor xnor xor

" LRM 3.7 String methods:
syn keyword systemverilogStatement   len getc putc toupper tolower compare
syn keyword systemverilogStatement   icompare substr
syn keyword systemverilogStatement   itoa hextoa octtoa bintoa realtoa
syn keyword systemverilogStatement   atoi atohex atooct atobin atoreal
" LRM 3.8 events:
syn keyword systemverilogStatement   triggered
" LRM 3.10 methods for enumerated types:
syn keyword systemverilogStatement   first last next prev num name
" LRM 4.6 Dynamic Arrays:
syn keyword systemverilogStatement   delete
" LRM 4.10 Associative Array methods:
syn keyword systemverilogStatement   num exists
" LRM 4.15.1 Array locator methods:
syn keyword systemverilogStatement   find find_index find_first find_first_index
syn keyword systemverilogStatement   find_last find_last_index min max unique unique_index
" LRM 4.15.2 Array ordering methods:
syn keyword systemverilogStatement   reverse sort rsort shuffle
" LRM 4.15.3 Array reduction methods:
syn keyword systemverilogStatement   sum product
" LRM 4.15.4 Array iterator query:
syn keyword systemverilogStatement   index
"" LRM 7.10.1 Builtin package:
syn keyword systemverilogStatement   std
" LRM Annex C standard library
syn keyword systemverilogStatement   get put try_get try_put peek try_peek
syn keyword systemverilogStatement   status kill self await suspend resume
" LRM Annex D List methods
syn keyword systemverilogStatement   next prev eq neq data
syn keyword systemverilogStatement   size empty push_front push_back
syn keyword systemverilogStatement   front back pop_front pop_back
syn keyword systemverilogStatement   start finish insert insert_range
syn keyword systemverilogStatement   erase erase_range set swap clear purge

" New time specification:
" #1step or #1ps
syn match   systemverilogNumber "\<[0-9_]\+[munpf]?[munpf]?s\>"
syn match   systemverilogNumber "\<[0-9_]\+step\>"

" Original systemverilog syntax below here

syn keyword systemverilogTodo contained TODO

syn match   systemverilogOperator "[&|~><!)(*#%@+/=?:;}{,.\^\-\[\]]"

syn region  systemverilogComment start="/\*" end="\*/" contains=systemverilogTodo
syn match   systemverilogComment "//.*" contains=systemverilogTodo

"syn match   systemverilogGlobal "`[a-zA-Z0-9_]\+\>"
syn match systemverilogGlobal "`celldefine"
syn match systemverilogGlobal "`default_nettype"
syn match systemverilogGlobal "`define"
syn match systemverilogGlobal "`else"
syn match systemverilogGlobal "`elsif"
syn match systemverilogGlobal "`endcelldefine"
syn match systemverilogGlobal "`endif"
syn match systemverilogGlobal "`ifdef"
syn match systemverilogGlobal "`ifndef"
syn match systemverilogGlobal "`include"
syn match systemverilogGlobal "`line"
syn match systemverilogGlobal "`nounconnected_drive"
syn match systemverilogGlobal "`resetall"
syn match systemverilogGlobal "`timescale"
syn match systemverilogGlobal "`unconnected_drive"
syn match systemverilogGlobal "`undef"
syn match   systemverilogGlobal "$[a-zA-Z0-9_]\+\>"

syn match   systemverilogConstant "\<[A-Z][A-Z0-9_]\+\>"

syn match   systemverilogNumber "\<\d\+?\<\d\+?'[bB]\s*[0-1_xXzZ?]\+\>"
syn match   systemverilogNumber "\<\d\+?\<\d\+?'[oO]\s*[0-7_xXzZ?]\+\>"
syn match   systemverilogNumber "\<\d\+?\<\d\+?'[dD]\s*[0-9_xXzZ?]\+\>"
syn match   systemverilogNumber "\<\d\+?\<\d\+?'[hH]\s*[0-9a-fA-F_xXzZ?]\+\>"
syn match   systemverilogNumber "\<[+-]\=[0-9_]\+\.[0?9]??\.[0?9]??e[0?9]??e[0?9]??\>"

syn region  systemverilogString start=+"+ skip=+\\"+ end=+"+ contains=systemverilogEscape
syn match   systemverilogEscape +\\[nt"\\]+ contained
syn match   systemverilogEscape "\\\o\o\=\o\=" contained

" Directives
syn match   systemverilogDirective   "//\s*synopsys\>.*$"
syn region  systemverilogDirective   start="/\*\s*synopsys\>" end="\*/"
syn region  systemverilogDirective   start="//\s*synopsys dc_script_begin\>" end="//\s*synopsys dc_script_end\>"

syn match   systemverilogDirective   "//\s*\$s\>.*$"
syn region  systemverilogDirective   start="/\*\s*\$s\>" end="\*/"
syn region  systemverilogDirective   start="//\s*\$s dc_script_begin\>" end="//\s*\$s dc_script_end\>"

"Modify the following as needed.  The trade-off is performance versus
"functionality.
syn sync lines=80

" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_systemverilog_syn_inits")
   if version < 508
      let did_systemverilog_syn_inits = 1
      command -nargs=+ HiLink hi link <args>
   else
      command -nargs=+ HiLink hi def link <args>
   endif

   " The default highlighting.
   HiLink systemverilogCharacter       Character
   HiLink systemverilogConditional     Conditional
   HiLink systemverilogRepeat   Repeat
   HiLink systemverilogString   String
   HiLink systemverilogTodo   Todo
   HiLink systemverilogComment  Comment
   HiLink systemverilogConstant  Constant
   HiLink systemverilogLabel   Label
   HiLink systemverilogNumber   Number
   HiLink systemverilogOperator  Special
   HiLink systemverilogStatement  Statement
   HiLink systemverilogGlobal   Define
   HiLink systemverilogDirective  SpecialComment
   HiLink systemverilogEscape   Special

   delcommand HiLink
endif

let b:current_syntax = "systemverilog"

" vim: ts=2

设置ftdetect

在vim文件夹ftdetect中设置filedecter.vim文件把下面内容放进去

au BufNewFile,BufRead *.sv      setf systemverilog 

重启vim就可以了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
作为自己极为方便和顺手的编译器,在最近两年的使用中,我不断的更新和加强vim的功能,特此备份。。。 ============================== 开启最大化 (win32用户直接就可以最大化,但是linux用户则需要安装wmctrl,详情参见:http://download.csdn.net/detail/jiaoxiaogu/4317843) --------------------------------------------------------------- F5一键运行Python,Ruby,Perl脚本 结果直接显示在gvim的Quickfix窗口中,不会单独弹出窗口。 F3: 打开tagbar F4: 添加个人信息 -------------------------------------------------------------- 炫酷配色方案,详情参看(http://www.weibo.com/1132779494/z6lIzbmBg) 自动匹配括号,自动补全一些代码(\fn: 当前文件名; \fe:当前文件名+后缀;tt当前时间) 自动载入保存fold(折叠)信息 --------------------------------------------------------------- tl: 显示taglist wm:显示winmanager ,v: 打开配置文件 ,te: 打开俄罗斯方块(熟悉HJKL键) tv: 在gvim中打开bash命令行(是的,你没看错!!) pyli: python静态代码测试 (保持代码规范,远离砍手砍脚) --------------------------------------------------------------- ctrl+g:打开最近打开的10个文件列表(这个非常方便,不用:e+路径了!) ctrl+q(,v):注释/反注释(可以区域注释,也可以单行注释) --------------------------------------------------------------- 所安装的插件: authorinfo.vim conque_term.vim EnhancedCommentify.vim minibufexpl.vim mru.vim per-support.vim python_fold.vim snipMate.vi tagbar.vim taglist.vim TeTrIs.vim winfileexplorer.vim winmanager.vim wintagexplorer.vim ------------------------------------------ 此配置的默认字体为Monaco,下载地址:http://download.csdn.net/detail/jiaoxiaogu/4317959
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zer0hz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值