Vim是做數(shù)字IC設(shè)計(jì)、驗(yàn)證最流行的編輯器,沒有之一。下面介紹一下基本使用方法。
〇、準(zhǔn)備工作,確認(rèn)是否安裝
vim分兩種,一種是命令行的,就叫vim,絕大部分linux默認(rèn)已經(jīng)安裝。還有一種是帶圖形界面的vim,也叫g(shù)vim??梢酝ㄟ^which來確認(rèn):
which vim
which gvim
如果gvim沒有安裝,可以用yum install來安裝,或者請(qǐng)公司IT幫忙安裝:
yum install gvim
# 或
yum install vim-X11
一、打開和關(guān)閉文件
1.1 打開單個(gè)文件
# 打開
gvim xxx.v
1.2 一次打開多個(gè)文件
#?打開多個(gè)文件
gvim 1.v 2.v 3.v
1.3 打開多個(gè)文件后,可以通過命令切換buffer(文件)
:bp?# 前一個(gè)文件
:bn?#?后一個(gè)文件
1.4 再打開一文件
:edit 4.v??#?`set?hidden`?
1.5 水平或者垂直分割當(dāng)前窗口
:split????? #水平分割,當(dāng)前文件同時(shí)在兩邊顯示,方便對(duì)照修改
:vsplit???? #垂直分割
:split?5.v? #新打開文件5.v,顯示在split區(qū)域里
:vsplit?6.v
注1:在split的多個(gè)窗口中切換光標(biāo)
點(diǎn)鼠標(biāo)
按快捷鍵
ctrl+w h:向左
ctrl+w j:向下
ctrl+w k:向上
ctrl+w l:向右
ctrl+w w:在所有窗口中循環(huán)
注2:最大化當(dāng)前split窗口
ctrl+w _?:水平方向最大化
ctrl+w |?:垂直方向最大化
ctrl+w =?:將所有窗口平均調(diào)成一樣大小
注3:關(guān)閉當(dāng)前split的窗口
ctrl+w c :關(guān)閉當(dāng)前split窗口
1.6?在新tab中再打開一個(gè)文件
:tabnew 5.v
注1:在多個(gè)tab中來回切換:ctrl+pageup/pagedown1.7?利用瀏覽目錄Explore來打開文件夾,在文件夾里再選擇打開哪一個(gè)文件
:Explore # 在上下split的窗口中顯示文件夾
:Vexplore # 在左右split的窗口中顯示文件夾
當(dāng)不記得文件名時(shí),可以通過這個(gè)方法。1.8?關(guān)閉文件的方法
:q??#?沒有修改時(shí),直接退出
:wq?#?先保存再退出
:q! # 不保存,直接退出
:w??#?保存,不退出
二、常用編輯命令
2.1 輸入文字或代碼
與其他大部分編輯器不同的是,vim中編輯文字或者代碼需要先進(jìn)入插入模式。編輯完按ESC鍵退出。
#?先按一下i,進(jìn)行插入模式
i
# 輸入需要的文件或代碼
...
#?編輯完成后,按ESC鍵退出編輯模式
esc
2.2 選中、復(fù)制、剪切、粘貼這些操作是數(shù)字IC工程師急需的功能,這里介紹一種更容易入門的操作方法:
# v+上下左右箭頭,比如:
v '->'
再按y、d、p進(jìn)行復(fù)制、剪切、粘貼。(不再是ctrl-c、ctrl-x、ctrl-v了)
2.3 打錯(cuò)字了,撤銷怎么操作呢?
ESC
u # 按一次u,撤銷最近一次操作
三、查找替換
3.1 可以點(diǎn)菜單Edit -> Find... / Find and Replace...
3.2?也可以通過命令
輸入/xxx再按回車,會(huì)高亮找到的關(guān)鍵字。
/xxx<Enter>
n?#?跳轉(zhuǎn)到下一處
N # 跳轉(zhuǎn)到上一處
輸入:s/A/B再按回車來替換,
#?把input替換成inout
:s/input/inout<Enter>
#?加一個(gè)%進(jìn)行全部替換
:%s/input/inout<Enter>
#?再一個(gè)c進(jìn)行替換確認(rèn)
:%s/input/inout/c<Enter>
四、保存、另存為
4.1 保存
:w
4.2 另存為
#?就是保存的時(shí)候指定一個(gè)新文件名
:w?5.v
當(dāng)然,用菜單File -> Save/Save as...也是一種選擇。
五、列編輯
5.1 多列一起編輯
ctrl-q ?? ? ? ? ? ? ? ? #?進(jìn)入列編輯模式
按上下左右的箭頭 #?選中一列或多列
大寫字母I或者A? ? #?插入在選中列之前還是之后
輸入要插入的內(nèi)容 # 輸入文字
ESC? ? ? ? ? ? ? ? ? ? ?# 選中的列都會(huì)插入相同的內(nèi)容
5.2 多列的復(fù)制與黏貼
-
- ctrl-v
- 按上下左右箭頭,選中需要的列按y復(fù)制移動(dòng)光標(biāo)到需要黏貼的位置,按p(光標(biāo)后)或P(光標(biāo)前)進(jìn)行黏貼
六、幾個(gè)常用的配置
tab與空格
set?tabstop=8
set?softtabstop=8
set?expandtab
臨時(shí)顯示空白字符
set list
set?listchars=tab:>-,eol:$
七、插件的安裝和管理
太復(fù)雜,初學(xué)者不需要。用好百分十的命令就夠了,后面慢慢再學(xué)。