用GVIM/VIM写Verilog——VIM配置分享「建议收藏」(bilibili)
使用VIM或GVIM最基本的配置,不包含任何插件相關的設置,VIM用于寫verilog,非常歡迎大家在評論區分享討論。
本文不進行插件的配置,不進行基本使用方式與使用技巧的說明,僅作為基本配置的分享交流。簡單補充下使用方式,輸入 cd ~ 然后 gvim .vimrc,輸入下面的配置即可
基本配置
set nocompatible "不兼容vi syntax on "語法高亮度顯示
set noerrorbells " 不讓vim發出討厭的滴滴聲 set shortmess=ati " 啟動的時候不顯示那個援助索馬里兒童的提示
set t_Co=256 "開啟256色支持 set hlsearch "搜索設置高亮
colorscheme desert "配色方案 set background=dark "配置主題整體的色調,只有兩個選擇:dark和light(暗色調和亮色調)
highlight Function cterm=bold,underline ctermbg=red ctermfg=green "color set set nu "顯示行號
set relativenumber "顯示相對行號 set cursorcolumn "add cursor in column
set cursorline "add cursor in line set guifont=Monospace\ 16 "gui style
"set guifont=Courier_new:h16 set lines=35 columns=118 "其中lines是窗口顯示的行數,columns是窗口顯示的列數
winpos 200 100 "后面兩個參數指的自屏幕左上角像素值參考位置 set tabstop=4 "tab鍵相當于4個空格鍵
set expandtab "來將 tab 轉成 space combine with tabstop set shiftwidth=4 "換行自動變為空格
set autoindent "設置自動縮進 自動縮進,當你第一行敲 tab + 文字 回車后 下一行自動給你加個 tab set backspace=2 "enable backspace
set novisualbell "不要閃爍 set laststatus=2 "啟動顯示狀態行
set encoding=utf-8 "文件編碼 set completeopt=menu,preview,longest "自動補全相關的設置
set bufhidden=hide
"禁止相關文件的產生 set noundofile "禁止un~文件
set nobackup "禁止~文件 set noswapfile "禁止swp文件
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
"ban up and also keys "imap <Up> <Nop>
"imap <Down> <Nop> "imap <Left> <Nop>
"imap <Right> <Nop> "nmap <Up> <Nop>
"nmap <Down> <Nop> "nmap <Left> <Nop>
"nmap <Right> <Nop> imap jk <ESC> g,"在編輯模式下使用jk替代ESC進入命令模式
imap <C-L> <C-X><C-L> “使用CTRL L 代替 CTRL X +CTRL L 就是整個句子的補全
nmap ,l ^
nmap ,r $
"進行版權聲明的設置 "添加或更新頭
map <F3> :call TitleDet()<cr>
function AddTitle()
call append(0,"/*=============================================================================")
call append(1,"#")
call append(2,"# Author: meng - email@vip.qq.com")
call append(3,"#")
call append(4,"# QQ : xxxxxxxxx ")
call append(5,"#")
call append(6,"# Last modified: ".strftime("%Y-%m-%d %H:%M"))
call append(7,"#")
call append(8,"# Filename: ".expand("%:t"))
call append(9,"#")
call append(10,"# Description: ")
call append(11,"#")
call append(12,"=============================================================================*/")
echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf
"更新最近修改時間和文件名 function UpdateTitle() normal m' execute '/# *Last modified:/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@' normal '' normal mk execute '/# *Filename:/s@:.*$@\=":\t\t".expand("%:t")@' execute "noh" normal 'k echohl WarningMsg | echo "Successful in updating the copy right." | echohl None endfunction "判斷前10行代碼里面,是否有Last modified這個單詞,
"如果沒有的話,代表沒有添加過作者信息,需要新添加; "如果有的話,那么只需要更新即可
function TitleDet()
let n=1
"默認為添加
while n < 10
let line = getline(n)
if line =~ '^\#\s*\S*Last\smodified:\S*.*$'
call UpdateTitle()
return
endif
let n = n + 1
endwhile
call AddTitle()
endfunction
幾點說明
1,禁用方向鍵,使用 jk 代替ESC
在VIN中操作,為了使得雙手脫離鍵盤,但是方向鍵距離手指較遠,ESC同樣,因此禁用掉方向鍵,同時使用jk代替ESC進入命令模式。
VIM中有三種模式:命令模式,輸入模式,命令行模式,其map映射
在vim配置文件中經常會看到map、nmap、imap
n ——表示在普通模式下生效。
v ——表示在可視模式下生效。
i ——表示在插入模式下效。
具體配置方式見上
這里為了滿足大多數人的需求,在配置中將其注釋掉,有需要的同學自行打開
2,自動補全命令配置
當我按下a的時候,彈出的提示框是包含所有a開頭的提示,但是編輯器上只有a和光標,這個時候如果我需要再次使用b來進行過濾直接敲入b,編輯器上就是ab和光標,過濾出來的就是ab開頭的單詞。
該設置摘自vim自動補全的問題
設置行命令補時候,直接使用Ctrl-l即可,不用使用Ctrl-x Ctrl-l
imap <C-L> <C-X><C-L>
3,進行版權聲明的設置
改聲明摘自博客,可以繼續進行完善,使用F3即可調用
4,一些其他映射
“調整格式以便對齊(例化后的)
:map <F6> :s/^ *\./ ./<cr>^f(i <ESC>f)i <ESC>^24ldw24ldwa <ESC>hdwj
GVIM配置自動調整將F6映射為后面一長串指令,具體指令可以自行嘗試
5,根本原則
簡潔即美,過多的描述與過少的描述差不多,合適的代碼注釋,簡潔方便的操作才是我們選擇VIM的原因。不要追求絢麗的效果。不要忘記專注代碼本身,VIM的基本配置只是我們的輔助手段,幫助我們盡可能的更加專注于編碼本身的?。。?/p>
總結
以上是生活随笔為你收集整理的用GVIM/VIM写Verilog——VIM配置分享「建议收藏」(bilibili)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看Product table entr
- 下一篇: 根据extension field搜索p