高效IC 工作環境 - Vim 自編摺疊插件

高效 IC 工作環境系列,我們會包含基本的Unix 知識和技巧,我們也會包含IC 各個領域的專業知識技巧。所以這個高效工作的範疇很廣,還包括一些日常工具的推薦,工作中觀念的分享等等。

希望大家能從這個系列中收穫一二。

使用插件管理器

這篇文章講得很頭頭是道,可以參考下。

vim插件管理器有什麼區別? - 共享筆記

由於公司伺服器一般都是和外網斷的,所以沒必要用可以自動更新的管理器,用純文件管理的就夠了。

自我開發插件

最簡單的理解,插件就是一堆你平時用的命令的集合;而插件文件就是你事先放在某個位置讓Vim 運行時去執行的一段VimL 腳本。

然而為了控制命令的執行順序或者執行的先後,我們需要用到函數,使用函數並利用一些模式的控制Vim 的行為。

我們來實現如下效果,大家看了有沒有點熟悉,這是hierarchy,像Clock Tree,Reg List等。

這是主函數:

function! EzSpaceFold(...)n let tab2space=repeat(nr2char(32),&ts)n if a:0==0n let g:HiStr=t|.tab2spacen elsen let g:HiStr=a:1n endifn let g:hiLen=strlen(substitute(g:HiStr, ".", "x", "g"))n set fillchars="fold:"n set foldmethod=exprn set foldexpr=EzFoldExpr(v:lnum)n set foldtext=EzFoldText()n hi Folded term=bold cterm=bold gui=boldn hi Folded guibg=NONE guifg=LightBluen nnoremap <space> @=((foldclosed(line(.)) < 0) ? zc : zo)<CR>nendfunctionn

E知CAD 會員計劃

為了更好地為IC 行業人士服務,倡導我們的知識分享,知識價值,我們花時間去製作,驗證我們的分享,我們的知識。我們希望你看到的分享都是精緻的,E知不僅關注知識,也關注分享知識的形式。會員權益包括完整演示視頻,完整源代碼,內部通訊,定期行業資深講師指導等。

會員計劃籌備中,看官你怎麼看?

推薦閱讀:

cpu為什麼需要那麼多晶體管?
集成電路晶元電極如何引出來?
985碩士一枚,專業方向射頻集成電路、通信數字接收機集成電路、超大規模集成電路。今後發展方向有哪些?
誰了解華燦光電晶元廠,怎麼樣,和三安比呢?
晶元給代工廠代工,技術是不是就泄露了?

TAG:CAD | 芯片集成电路 | IC设计师 |