介紹兩個(gè)可以在Windows系統(tǒng)安裝的進(jìn)行vim練習(xí)和cshell練習(xí)的工具拣播,分別是gvim和cygwin terminal,今天介紹兩個(gè)小技巧嚷硫,都是在vim中用的方法:
第一個(gè)小技巧是vim的記錄技巧簿晓,首先打開gvim,進(jìn)入的是normal mode罗晕,普通模式济欢;然后按i,進(jìn)入insert mode小渊,插入模式法褥,可以進(jìn)行字符的編輯了,然后輸入1酬屉。
然后按esc半等,回到normalmode揍愁,按q,進(jìn)入記錄模式杀饵,再按a莽囤,表示記錄開始,然后yy切距,復(fù)制這一行朽缎,按p貼復(fù)制的內(nèi)容到下一行,光標(biāo)到現(xiàn)在2的位置(這時(shí)候還是1)谜悟,按ctrl+a话肖,可以讓數(shù)字加1,然后變成了2葡幸,然后再按q最筒,記錄模式結(jié)束,
現(xiàn)在可以使用@a調(diào)用這個(gè)記錄的操作了蔚叨,按7@a床蜘,就相當(dāng)于操作了7次,最后結(jié)果如下缅叠;
(這個(gè)是在gvim中調(diào)用的悄泥,有點(diǎn)bug,在記錄模式時(shí)無法使用ctrl+a來增加數(shù)值肤粱,但在Linux環(huán)境中時(shí)可以用ctrl+a的)
然后另一個(gè)技巧是:map的映射功能(在normal模式時(shí)轉(zhuǎn)換成命令模式弹囚,命令模式其實(shí)就是加上兩個(gè)冒號(hào)),采用:map \ dd,就相當(dāng)于把dd的功能賦給了\,然后在某一行時(shí)按\,就會(huì)刪除這一行领曼。
有兩種procedural block鸥鹉,分別是initial和always,intial相當(dāng)于初始化庶骄,相應(yīng)模塊只運(yùn)行一次毁渗,而always則是只要滿足條件就會(huì)開始運(yùn)行;always有兩種觸發(fā)方式单刁,always@(a )這種是電平觸發(fā)灸异,而always(posedge a),表示在上升沿時(shí)觸發(fā)羔飞,一般邊沿觸發(fā)在同一個(gè)always里不應(yīng)該超過三個(gè)肺樟,而同一個(gè)電平的正邊沿和負(fù)邊沿觸發(fā)不應(yīng)該在同一個(gè)always模塊里面。除此之外還可以用wait(a)來表示觸發(fā)條件逻淌。兩種賦值方式assign a = b么伯; assign a <= b;
前一個(gè)為blocking assignment,阻塞賦值卡儒,后一個(gè)為non-blocking assignment田柔,非阻塞賦值俐巴,在always模塊里面,采用阻塞賦值的一般是組合邏輯硬爆,采用非阻塞賦值的一般是時(shí)序邏輯欣舵,這個(gè)需要注意。無論時(shí)序邏輯還是組合邏輯摆屯,都需要提前想好架構(gòu)再進(jìn)行代碼編寫邻遏,否則會(huì)事倍功半糠亩,反之則會(huì)事半功倍虐骑。