gvim配置

点击查看代码
" For pathogen.vim: auto load all plugins in .vim/bundle
execute pathogen#infect()

"open syntax highlight
syntax enable
syntax on
"indent based on filetype
filetype plugin indent on
filetype on

set fileformat=unix
set winaltkeys=no
""""""""""airline""""""""""
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#show_buffers = 1
let g:airline#extensions#tabline#show_tabs = 1
let g:airline#extensions#tabline#buffer_nr_show = 1
let g:airline_theme='solarized'

""""""""""rainbow""""""""""""
let g:rainbow_active=1 "0 if you want to enable it later via :RainbowToggle
let g:rainbow_conf = {
\   'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick'],
\   'ctermfgs': ['lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'],
\   'guis': [''],
\   'cterms': [''],
\   'operators': '_,_',
\   'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/{/ end=/}/ fold'],
\   'separately': {
\       '*': {},
\       'markdown': {
\           'parentheses_options': 'containedin=markdownCode contained',},
\       'lisp': {
\           'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick', 'darkorchid3'],   },
\       'haskell': {
\           'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/\v\{\ze[^-]/ end=/}/ fold'], },
\       'vim': {
\           'parentheses_options': 'containedin=vimFuncBody',   },
\       'perl': {
\           'syn_name_prefix': 'perlBlockFoldRainbow', },
\       'stylus': {
\           'parentheses': ['start=/{/ end=/}/ fold contains=@colorableGroup'], },
\       'css': 0
\   }
\}






set t_Co=256
nmap <tab> :bn<cr> "设置tab键映射
let g:airline_powerline_fonts = 1
let g:airline_theme='bubblegum' "选择主题
let g:airline_left_sep = '▶'
let g:airline_left_alt_sep = '❯'
let g:airline_right_sep = '◀'
let g:airline_right_alt_sep = '❮'
nnoremap b :bp<cr>
nnoremap B :bn<cr>

""tagbar
let g:tagbar_ctags_bin='~/uctags/bin/ctags'
let g:tagbar_autofocus = 1
nmap <silent> <F4> :TagbarToggle<CR>
let g:tagbar_type_systemverilog = {
        \ 'ctagstype'   : 'SystemVerilog',
        \ 'kinds'       : [
            \ 'b:blocks:1:1',
            \ 'c:constants:1:0',
            \ 'e:events:1:0',
            \ 'f:functions:1:1',
            \ 'm:modules:0:1',
            \ 'n:nets:1:0',
            \ 'p:ports:1:0',
            \ 'r:registers:1:0',
            \ 't:tasks:1:1',
            \ 'A:assertions:1:1',
            \ 'C:classes:0:1',
            \ 'V:covergroups:0:1',
            \ 'I:interfaces:0:1',
            \ 'M:modport:0:1',
            \ 'K:packages:0:1',
            \ 'P:programs:0:1',
            \ 'R:properties:0:1',
            \ 'T:typedefs:0:1'
    \ ],
        \ 'sro'         : '.',
        \ 'kind2scope'  : {
            \ 'm' : 'module',
            \ 'b' : 'block',
            \ 't' : 'task',
            \ 'f' : 'function',
            \ 'C' : 'class',
            \ 'V' : 'covergroup',
            \ 'I' : 'interface',
            \ 'K' : 'package',
            \ 'P' : 'program',
            \ 'R' : 'property'
        \ },
    \ }
""""""""""""""""""""""""<win_manager>""""""""""""""""""""""""""
let g:winManagerWindowLayout='FileExplorer'
nmap <F3> :WMToggle<cr>
"set cursorline
"vim self_cmd complete smartly
set wildmenu
set showcmd
"""""""""fold set""""""""""""""""
set foldmethod=syntax
set foldcolumn=2
highlight Folded guibg=grey guifg=blue
highlight FoldColumn guibg=black guifg=white

let g:SuperTabDefaultCompletionType = 'context'

""ctags"
set tags=tags;
"let g:airline_theme='angr'
set tags+=./tags
set tags+=/home/uvm-1.2/uvm_tags


set autochdir
source $VIMRUNTIME/macros/matchit.vim

set nocompatible
set ru
set nu
set nobackup
set noswapfile
set guioptions+=b
set guioptions+=c " 启用居中显示
"""""""""""""""""""""<search setting>"""""""""""""""""""""""
"Override the 'ignorecase' option if the search pattern contains upper
"case characters.  Only used when the search pattern is typed and
"'ignorecase' option is on. 
set incsearch
set hls
"set ignorecase
set ignorecase smartcase
"set infercase

""""""""""""""""""""<color scheme setting>""""""""""""""""""
""vim color scheme setting 
if has("gui_running")
    set background=dark
    colorscheme desert
    "colorscheme solarized
else
    colorscheme molokai
endif

"""""""""""""""""""""""""set match pairs"""""""""""""""""""""""
set showmatch
"How many tenths of a second to blink
set matchtime=5

"set guicursor=n:block-blinkoff0
"""""""""""""<set for chinese support>""""""""""""""""""""""""""
":language ja_JP.eucJP
":let &termencoding = &encoding
":set termencoding=euc-jp
set fileencodings=utf-8,gbk,big5,euc-jp,gb2312

let g:airline_powerline_fonts = 1
let b:match_ignorecase=0
let b:match_words=
  \ '\<begin\>:\<end\>,' .
  \ '\<if\>:\<else\>,' .
  \ '\<module\>:\<endmodule\>,' .
  \ '\<class\>:\<endclass\>,' .
  \ '\<program\>:\<endprogram\>,' .
  \ '\<clocking\>:\<endclocking\>,' .
  \ '\<property\>:\<endproperty\>,' .
  \ '\<sequence\>:\<endsequence\>,' .
  \ '\<package\>:\<endpackage\>,' .
  \ '\<covergroup\>:\<endgroup\>,' .
  \ '\<primitive\>:\<endprimitive\>,' .
  \ '\<specify\>:\<endspecify\>,' .
  \ '\<generate\>:\<endgenerate\>,' .
  \ '\<interface\>:\<endinterface\>,' .
  \ '\<function\>:\<endfunction\>,' .
  \ '\<task\>:\<endtask\>,' .
  \ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' .
  \ '\<fork\>:\<join\>\|\<join_any\>\|\<join_none\>,' .
  \ '`ifdef\>:`else\>:`endif\>,'


let mapleader="\<Space>"
nnoremap <leader>i :VerilogFollowInstance<CR>
nnoremap <leader>I :VerilogFollowPort<CR>
nnoremap <leader>u :VerilogGotoInstanceStart<CR>


let g:winManagerWindowLayout='FileExplorer'
nmap <F3> :WMToggle<cr>

set cscopetag


" Use Vim settings, rather then Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible

" allow backspacing over everything in insert mode
set backspace=indent,eol,start

set history=200		" keep 50 lines of command line history
set ruler		" show the cursor position all the time
set showcmd		" display incomplete commands
"set incsearch		" do incremental searching

set wrap
set textwidth=80
" For indent
set shiftwidth=4
set expandtab
set smarttab

" Don't use Ex mode, use Q for formatting
" map Q gq
noremap Q @q


map gy gT
map gb gT
map <C-j> <C-w>j
map <C-k> <C-w>k

if &t_Co > 2 || has("gui_running")
  " syntax on
  set hlsearch
endif

" Only do this part when compiled with support for autocommands.
if has("autocmd")

  " Enable file type detection.
  " Use the default filetype settings, so that mail gets 'tw' set to 72,
  " 'cindent' is on in C files, etc.
  " Also load indent files, to automatically do language-dependent indenting.
  filetype plugin indent on

  " Put these in an autocmd group, so that we can delete them easily.
  augroup vimrcEx
  au!

  " For all text files set 'textwidth' to 78 characters.
  autocmd FileType text setlocal textwidth=78

  " When editing a file, always jump to the last known cursor position.
  " Don't do it when the position is invalid or when inside an event handler
  " (happens when dropping a file on gvim).
  autocmd BufReadPost *
    \ if line("'\"") > 0 && line("'\"") <= line("$") |
    \   exe "normal! g`\"" |
    \ endif

  augroup END

  " autocmd FileType make setlocal noexpandtab
  " autocmd FileType perl setlocal shiftwidth=2

  "Ack search results show a mix of relative and absolute paths, making them hard to read 
  "autocmd BufAdd * execute "cd" fnameescape(getcwd())

else

  set autoindent		" always set autoindenting on

endif " has("autocmd")

" Convenient command to see the difference between the current buffer and the
" file it was loaded from, thus the changes you made.
""""""""""""""""""""""< Taglist setting >""""""""""""""""
let Tlist_Ctags_Cmd = '~/uctags/bin/ctags'
let Tlist_Show_One_File = 1
let Tlist_Use_Right_Window = 1
let Tlist_GainFocus_On_ToggleOpen = 1
let Tlist_Exit_OnlyWindow = 1
nnoremap <silent> <F8> :TlistToggle<CR>

""""""""""""""""""""""""< Quickfix Window>""""""""""""
function! GetBufferList()
  redir =>buflist
  silent! ls
  redir END
  return buflist
endfunction

function! ToggleList(bufname, pfx)
  let buflist = GetBufferList()
  for bufnum in map(filter(split(buflist, '\n'), 'v:val =~ "'.a:bufname.'"'), 'str2nr(matchstr(v:val, "\\d\\+"))')
    if bufwinnr(bufnum) != -1
      exec(a:pfx.'close')
      return
    endif
  endfor
  if a:pfx == 'l' && len(getloclist(0)) == 0
      echohl ErrorMsg
      echo "Location List is Empty."
      return
  endif
 
  let winnr = winnr()
  exec(a:pfx.'open')
  if winnr() != winnr
    wincmd p
  endif
endfunction
nmap <silent> <leader>l :call ToggleList("Location List", 'l')<CR>
nmap <silent> <F7> :call ToggleList("Quickfix List", 'c')<CR>
"nnoremap <C-N> :cn<CR>
"nnoremap <C-P> :cp<CR>

" FuzzyFinder setting
"let g:fuf_modesDisable = []
"let g:fuf_mrufile_maxItem = 400
"let g:fuf_mrucmd_maxItem = 400
"nnoremap <silent> <F3>     :FufBuffer<CR>
"nnoremap <silent> <S-F3>   :FufFile<CR>

""""""""""""""""""< EasyGrep setting>""""""""""""""""""""""
let g:EasyGrepMode = 2
let g:EasyGrepRecursive = 1
let g:EasyGrepJumpToMatch = 0
" If external tool 'ag' or 'ack' is used
if executable('ag')
  set grepprg=ag\ --vimgrep
  set grepformat=%f:%l:%c:%m,%f:%l:%m
  let g:EasyGrepCommand = 1
  "let g:EasyGrepEnableLogging = 1
elseif executable('ack')
  set grepprg=ack\ --nopager\ --nocolor\ --nogroup\ --column
  set grepformat=%f:%l:%c:%m,%f:%l:%m
  let g:EasyGrepCommand = 1
  "let g:EasyGrepEnableLogging = 1
endif

""""""""""""""""""""<bufexplorer setting>""""""""""""""""
let g:bufExplorerSplitBelow = 1

" mark setting
"nmap <Leader>M <Plug>MarkToggle
"nmap <Leader>N <Plug>MarkAllClear

""""""""""""""""<Supertab setting>""""""""""""""""""""""""""
let g:SuperTabDefaultCompletionType = "context"

""""""""""""""""""""""<SnipMate setting>""""""""""""""""
"let g:snippets_dir = "~/.vim/snippets, ~/.vim/bundle/snipmate.vim/snippets"






""""""""""""""<For save fold information>""""""""""""""""""""""""""""""""
"au BufWinLeave * mkview
"au BufWinEnter * silent loadview
"""""""""""""<:Gr  hello will find all hello,and vertical split window will have >"""""""""""""
command! -bang -nargs=+ Gr let @g=""|execute 'g/<args>/y G'|new|setlocal bt=nofile|put! g|redraw

nnoremap <silent> <Leader>ng :redir @g<CR>:silent g//<CR>:redir END<CR>:new<CR>:setlocal bt=nofile<CR>:put! g<CR>:redraw!<CR>
nnoremap <silent> <Leader>nn :redir @g<CR>:silent execute 'g/'.expand("<cword>").'/'<CR>:redir END<CR>:new<CR>:setlocal bt=nofile<CR>:put! g<CR>:redraw!<CR>

""""""""""""""<Set Foldexpr>""""""""""""""""""""""""""""
function! MyFoldLevel(lnum)
  let m_fold = (getline(a:lnum)=~'^\x\+') ? 1 : 0
  return m_fold
endfunction
function! ToggleFoldmethod()
  if &foldmethod!='manual'
    set foldmethod=manual
    normal zE
  else
    set foldmethod=expr
    set foldexpr=MyFoldLevel(v:lnum)
  endif
endfunction
"command! -bang -nargs=0 Fe set foldmethod=expr|set foldexpr=MyFoldLevel(v:lnum)
nmap <silent> <F9> :call ToggleFoldmethod()<CR>

" Set window size
function! ToggleWinWidth()
  if &columns=='100'
    set columns=160
  else
    set columns=100
  endif
endfunction
function! ToggleWinHeight()
  if &lines!='40'
    set lines=40
  endif
endfunction
nmap <silent> <F12> :call ToggleWinWidth()<CR>
nmap <silent> <S-F12> :call ToggleWinHeight()<CR>

" Set CursorLine CoursorColumn
function! ToggleCursorLine()
  if &cursorline||&cursorcolumn
    set nocursorline
    set nocursorcolumn
  else
    set cursorline
    set cursorcolumn
  endif
endfunction
nmap <silent> <F11> :call ToggleCursorLine()<CR>
nnoremap <silent> <Leader>sv :setfiletype svtb_log<CR>

" Set window font
let s:pattern = '^\(.* \)\([1-9][0-9]*\)$'
let s:minfontsize = 10
let s:maxfontsize = 16
function! AdjustFontSize(amount)
  if has("gui_running") && has("gui_gtk2")
    let fontname = substitute(&guifont, s:pattern, '\1', '')
    let cursize = substitute(&guifont, s:pattern, '\2', '')
    let newsize = cursize + a:amount
    if (newsize >= s:minfontsize) && (newsize <= s:maxfontsize)
      let newfont = fontname . newsize
      let &guifont = newfont
    endif
  else
    echoerr "You need to run the GTK2 version of Vim to use this function."
  endif
endfunction

let s:FontSizeToggled = 0
function! ToggleWinFont()
  if has("gui_running") && has("gui_gtk2")
      if s:FontSizeToggled == 0
          call AdjustFontSize(2)
          let s:FontSizeToggled = 1
      else
          call AdjustFontSize(-2)
          let s:FontSizeToggled = 0
      endif
  endif
endfunction
nmap <silent> <F10> :call ToggleWinFont()<CR>:redraw!<CR>

let s:ColorSchemeToggled = 0
function! ToggleColorScheme()
if has("gui_running") && has("gui_gtk2")
      if s:ColorSchemeToggled == 0
          "colorscheme nightfox
           colorscheme space-vim-dark

          let s:ColorSchemeToggled = 1
      elseif s:ColorSchemeToggled == 1
          colorscheme codedark
             "colorscheme gruvbox
          let s:ColorSchemeToggled = 2
      else
          colorscheme molokai
             "colorscheme gruvbox
          let s:ColorSchemeToggled = 0
      endif
  endif
endfunction
nmap <silent> <F6> :call ToggleColorScheme()<CR>:redraw!<CR>


""""""""""""""""""""""<gui_font_setting>""""""""""""""""""
set linespace=1
if has("gui_running")
        if has("gui_gtk2")
                ":set guifont=Bitstream\ Vera\ Sans\ Mono\ 11
                ":set guifont=Courier\ 16,mendium\ 16
                ":set guifont=Courier\ 12,fixed\ 12,\ 7x13
                :set guifont=Monospace\ 13
        elseif has("x11")
                "also for GTK 1
                :set guifont=-Courier_10_Pitch-Medium-R-Normal--14-110-70-70-C-75-ISO8859-1
        elseif has("gui_win32")
                :set guifont=Luxi_mono:h12:cANSI
        endif
endif

""""""""""""""""""""""""""""""""title""""""""""""""""""""""""""""""""
let g:uvm_email = "XXX@gmail.com"

map <F2> :call DefineDet()<cr>
function AddDefine()
    let s:classname = expand("%:r") 
    let s:extension = expand("%:e") 
 if s:extension =~ 'cpp' || s:extension =~ 'h' ||  s:extension =~ 'c'
        call append(14,"#ifndef " . "__" . toupper(s:classname . "_" . s:extension) ."__")
        call append(15,"#define " . "__" . toupper(s:classname . "_" . s:extension) ."__")
        call append(16,"")
        call append(17,"")
        let s:botline = line("$")
        call append(s:botline,"")
        let s:botline1 = s:botline+1
        call append(s:botline1,"#endif")
        let s:botline2 = s:botline+2  
 elseif s:extension =~ 'py' 
        call append(23,"#ifndef " . "__" . toupper(s:classname . "_" . s:extension) ."__")
        call append(24,"#define " . "__" . toupper(s:classname . "_" . s:extension) ."__")
        call append(25,"")
        call append(26,"")
        let s:botline = line("$")
        call append(s:botline,"")
        let s:botline1 = s:botline+1
        call append(s:botline1,"#endif")
        let s:botline2 = s:botline+2
  else
        call append(23,"`ifndef " . "__" . toupper(s:classname . "_" . s:extension) ."__")
        call append(24,"`define " . "__" . toupper(s:classname . "_" . s:extension) ."__")
        call append(25,"")
        call append(26,"")
        let s:botline = line("$")
        call append(s:botline,"")
        let s:botline1 = s:botline+1
        call append(s:botline1,"`endif")
        let s:botline2 = s:botline+2  
    endif
    echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf

function DefineDet()
    let n=0
    while n < 20 
        let line = getline(n)
        if line =~ '^`ifndef.*$' 
            return
        endif
        let n = n + 1" Verilog HDL
au BufNewFile,BufRead *.v  setf verilog
    endwhile
    call AddDefine()
endfunction




autocmd BufNewFile *.v,*.sv,*.c,*.py,*.pl,*.cpp exec ":call TitleDet()"
function AddTitle()
    let s:extension = expand("%:e") 
    if s:extension =~ 'cpp' || s:extension =~ 'h' ||  s:extension =~ 'c'
        call append(0,"// ***********************************************************************")
        call append(1,"//                        Copyright XX_SEMI, 2023")
        call append(2,"// ***********************************************************************")
        call append(3,"// PROJECT        : ".$project_name)
        call append(4,"// FILENAME       : ".expand("%:t"))
        call append(5,"// Author         : ".toupper($USER))
        call append(6,"// Created        : ".strftime("%Y-%m-%d %H:%M"))
        call append(7,"// LAST MODIFIED  : ".strftime("%Y-%m-%d %H:%M"))
        call append(8,"// ***********************************************************************")
        call append(9,"// DESCRIPTION    :")
        call append(10,"// ***********************************************************************")
        call append(11,"// $Revision: $")
        call append(12,"// $Id: $")
        call append(13,"// ***********************************************************************")
        ""let s:botline = line("$")
        ""call append(s:botline,"// ***********************************************************************")
        ""let s:botline1 = s:botline+1
        ""call append(s:botline1,"// $Log: $")
        ""let s:botline2 = s:botline+2
    elseif s:extension =~ 'py' || s:extension =~ 'pl'
        if s:extension =~'py'
            call append(0,"#!/anaconda3-2019.03/bin/python")
        else
            call append(0,"#!/usr/bin/perl")
        endif    
        call append(1,"## ***********************************************************************")
        call append(2,"## *****************                                                       ")
        call append(3,"## ***** ***********                                                       ")
        call append(4,"## *****   *********       Copyright (c) ".strftime("%Y"). " XX_SEMI      ")
        call append(5,"## *****     *******               (BJ     group)                          ")
        call append(6,"## *****       *****         XXX_SEMI    Confidential                   ")
        call append(7,"## *****     *******             All rights reserved                       ")
        call append(8,"## *****   *********                                                       ")
        call append(9,"## ***** ***********                                                       ")
        call append(10,"## *****************                                                       ")
        call append(11,"## ***********************************************************************")
        call append(12,"## PROJECT        : ".$PROJECT_NAME)
        call append(13,"## FILENAME       : ".expand("%:t"))
        call append(14,"## Author         : ".toupper($USER)." [". g:uvm_email ."]")
        call append(15,"## Created        : ".strftime("%Y-%m-%d %H:%M"))
        call append(16,"## LAST MODIFIED  : ".strftime("%Y-%m-%d %H:%M"))
        call append(17,"## ***********************************************************************")
        call append(18,"## DESCRIPTION    :")    
        call append(19,"## ***********************************************************************")
        call append(20,"## $Revision: $")
        call append(21,"## $Id: $")
        call append(22,"## ***********************************************************************")
        let s:botline = line("$")
        call append(s:botline,"## ***********************************************************************")
        let s:botline1 = s:botline+1
        call append(s:botline1,"## $Log: $")
        let s:botline2 = s:botline+2
        call append(s:botline2,"## $Revision $")
        autocmd VimEnter * normal 24G
    else
        call append(0,"// ***********************************************************************")
        call append(1,"// *****************                                                       ")
        call append(2,"// ***** ***********                                                       ")
        call append(3,"// *****   *********       Copyright (c) ".strftime("%Y"). "  XX_SEMI      ")
        call append(4,"// *****     *******               (XX     group)                          ")
        call append(5,"// *****       *****             XX_SEMI    Confidential                   ")
        call append(6,"// *****     *******             All rights reserved                       ")
        call append(7,"// *****   *********                                                       ")
        call append(8,"// ***** ***********                                                       ")
        call append(9,"// *****************                                                       ")
        call append(10,"// ***********************************************************************")
        call append(11,"// PROJECT        : ".$PROJECT_NAME)
        call append(12,"// FILENAME       : ".expand("%:t"))
        call append(13,"// Author         : ".toupper($USER)." [". g:uvm_email ."]")
        call append(14,"// Created        : ".strftime("%Y-%m-%d %H:%M"))
        call append(15,"// LAST MODIFIED  : ".strftime("%Y-%m-%d %H:%M"))
        call append(16,"// ***********************************************************************")
        call append(17,"// DESCRIPTION    :")
        call append(18,"// ***********************************************************************")
        call append(19,"// $Revision: $")
        call append(20,"// $Id: $")
        call append(21,"// ***********************************************************************")
        let s:botline = line("$")
        call append(s:botline,"// ***********************************************************************")
        let s:botline1 = s:botline+1
        call append(s:botline1,"// $Log: $")
        let s:botline2 = s:botline+2
        call append(s:botline2,"// $Revision $")
        autocmd VimEnter * normal 23G
    endif
    echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf       




function TitleDet()
let save_cursor = getpos('.')
    if search('LAST MODIFIED','c') !=0
        let line = line('.')
        let s:extension = expand("%:e") 
        if s:extension =~'py' || s:extension =~'pl' 
            call setline(line,"## LAST MODIFIED  : ".strftime("%Y-%m-%d %H:%M"))
        else
            call setline(line,"// LAST MODIFIED  : ".strftime("%Y-%m-%d %H:%M"))
        endif
        "     return
    else
        if search('author','c')==0
            call AddTitle()
        endif
    endif
    call setpos('.', save_cursor)
    echohl WarningMsg | echo "Successful in updating the copy right." | echohl None


endfunction

"""""""""""""""""""""<status columbar>""""""""""""""""""""""""
set laststatus =2
"highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLine guifg=SlateBlue guibg=Gray

""""""""""""""""<auto sets the filetype SV for VHDL>""""""""""""""""""""""""""
" System Verilog and VHDL
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst  setf vhdl
au BufNewFile,BufRead *.sv,*.svh          setf systemverilog


""""""""""""""""""""<color scheme setting>""""""""""""""""""
""vim color scheme setting 
if has("gui_running")
    set background=dark
    colorscheme desert    
    "colorscheme solarized
else
    colorscheme molokai
endif

""""""""""""""""""""""""""<multiple-cursors>""""""""""""""""""""""""""""
let g:multi_cursor_use_default_mapping=0

" Default mapping
let g:multi_cursor_start_word_key      = '<C-n>'
let g:multi_cursor_select_all_word_key = '<A-n>'
let g:multi_cursor_start_key           = 'g<C-n>'
let g:multi_cursor_select_all_key      = 'g<A-n>'
let g:multi_cursor_next_key            = '<C-n>'
let g:multi_cursor_prev_key            = '<C-p>'
let g:multi_cursor_skip_key            = '<C-x>'
let g:multi_cursor_quit_key            = '<Esc>'

""""""""""""""""""""""""""<minibuf>""""""""""""""""""""""""""""
let g:miniBufExplMapCTabSwitchBufs=1
let g:miniBufExplMapWindowsNavVim=1
let g:miniBufExplMapWindowNavArrows=1
""""""""""""""""""""""""""<EasyMotion>""""""""""""""""""""""""""""
let g:EasyMotion_smartcase = 1
"let g:EasyMotion_startofline = 0 " keep cursor colum when JK motion
map <Leader><leader>h <Plug>(easymotion-linebackward)
map <Leader><Leader>j <Plug>(easymotion-j)
map <Leader><Leader>k <Plug>(easymotion-k)
map <Leader><leader>l <Plug>(easymotion-lineforward)
map <Leader><leader>. <Plug>(easymotion-repeat)

"""""""""""""""""""<some common customization settings for GVim>"""""""""""
"exit vim
nmap <c-q>  :q <CR>
"save file
nmap <c-s>  :w <CR>
"other
cnoremap lc     :lcd%:p:h



""""""""""""""""""""<Setting GVim to center in Linux >""""""""""""""""""""
function WindowCenterInScreen()
    set lines=9999 columns=9999
    let g:windowsSizeFixX = 58
    let g:windowsSizeFixY = 118
    let g:windowsScaleX = 7.75
    let g:windowsScaleY = 17.0
    let g:windowsPosOldX = getwinposx()
    let g:windowsPosOldY = getwinposy()
    let g:windowsScreenWidth = float2nr(winwidth(0) * g:windowsScaleX) + g:windowsPosOldX + g:windowsSizeFixX
    let g:windowsScreenHeight = float2nr(winheight(0) * g:windowsScaleY) + g:windowsPosOldY + g:windowsSizeFixY
    set lines=30 columns=108
    let g:windowsSizeWidth = float2nr(winwidth(0) * g:windowsScaleX) + g:windowsSizeFixX
    let g:windowsSizeHeight = float2nr(winheight(0) * g:windowsScaleY) + g:windowsSizeFixY
    let g:windowsPosX = ((g:windowsScreenWidth - g:windowsSizeWidth) / 2)
    let g:windowsPosY = ((g:windowsScreenHeight - g:windowsSizeHeight) / 2)
    exec ':winpos ' . g:windowsPosX . ' ' . g:windowsPosY
endfunc
au GUIEnter * call WindowCenterInScreen()


"""""""""""""""""""""""""""""""""""""""<setting for vcs comp debug>"""""""""""""""""""""""""""
"comp


let &makeprg='vlogan +v2k -full64 +vcs+flush+all +lint=all -sverilog  -ntb_opts uvm-1.2  -f xx.flist  %'

"autocmd BufWritePost *.sv exec ":make"
"
let g:verilog_efm_uvm_lst = "all"
let g:verilog_efm_level = "error"
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值