• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 23,  comments - 94,  trackbacks - 0
            好久沒(méi)寫blog了,還是隨便寫點(diǎn)~ linux下的東西,容易忘~

            由于之前一直沒(méi)能靜下心來(lái)嘗試使用vim以及其配套的一些東西進(jìn)行coding
            今天好不容易有心情泡在ubuntu下面,所以開(kāi)始google相關(guān)的東西

            首先,我不是linux的超級(jí)fan。通過(guò)今天接近3個(gè)小時(shí)的揣摩過(guò)后,我還是無(wú)法承認(rèn)使用我提及的這些東西能夠在編輯代碼的效率上超過(guò)vc + va。不過(guò),重點(diǎn)在于大家都說(shuō)vim是編輯器之神,好歹也要做一個(gè)和神接觸過(guò)的程序員吧……

            首先安裝vim應(yīng)該是很簡(jiǎn)單的,可能有同學(xué)使用的是gvim,我也通過(guò) apt-get 安裝了
            不過(guò)介于在linux環(huán)境下,大多數(shù)時(shí)候還是要和命令行打交道,所以我還是沒(méi)有選擇使用gvim

            vim的操作是分模式的,插入模式和普通模式。
            隨便google一點(diǎn)vim入門的文章就可以知道一些簡(jiǎn)單的操作,比較實(shí)用的操作在于一些編輯技巧。
            編輯技巧可以通過(guò)vim自帶的 vimtutor 進(jìn)行學(xué)習(xí)和練習(xí),整套下來(lái)大約20分鐘。不過(guò)不保證都能記住,我覺(jué)得初學(xué)者在使用中還是會(huì)帶有很多平時(shí)使用windows下文本編輯器的習(xí)慣。比如ctrl + c, v, x等。還有使用方向鍵而不是HJKL來(lái)移動(dòng)光標(biāo)。

            這些東西,應(yīng)該可以總結(jié)為一句話——無(wú)他,唯手熟爾。

            其實(shí)vim作為編輯器,對(duì)coding好像是沒(méi)有多大幫助的,于是我就開(kāi)始嘗試google "vim C++",果然出現(xiàn)一大堆東西。
            用過(guò)VC+VA的都知道代碼補(bǔ)全對(duì)寫代碼的效率的提高是多么的重要。
            其實(shí)我覺(jué)得最好就是能達(dá)到VA的程度,于是我開(kāi)始慢慢嘗試。

            首先,VIM的插件安裝在ubuntu下面被簡(jiǎn)化了很多。可以使用下面的命令直接安裝一個(gè)類似插件管理器的玩意:

            sudo apt-get vim-addons

            安裝好這個(gè)過(guò)后,安裝插件就很簡(jiǎn)單了。
            比如 taglist 就之需要使用下面的命令:

            vim-addons install taglist

            本來(lái)google到的一大堆安裝vim插件的東西,都是讓自己下載解壓到vim的文件夾
            一般說(shuō)的是 #HOME/.vim/ 但是我不知道這個(gè)目錄怎么進(jìn),因?yàn)槲沂莑inux白癡 = =~

            taglist 大概就是一個(gè)用于查看各種tag的邊欄瀏覽器,它有什么高深的用法我還不知道。
            先不講它~ 講講ctag先~

            -----------------------------------

            ctags

            ctags不算是vim的一個(gè)插件,它好像支持很多的編輯器,vim算是很正統(tǒng)的支持。
            安裝ctags就是使用有超級(jí)牛力的apt-get

            裝好了過(guò)后呢,在下次使用vim的時(shí)候,就可以先對(duì)需要tag的源文件進(jìn)行處理,生成tag
            然后可以在tag間進(jìn)行快速的跳轉(zhuǎn)。 這么說(shuō)很抽象,來(lái)點(diǎn)例子吧~

            hello.cpp

            #include <stdio.h>

            void print_hello()
            {
              printf("hello");
            }

            void print_world()
            {
              printf(" world");
            }

            int main()
            {
              print_hello();
              print_world();

              return 0;
            }

            假設(shè)這個(gè)文件就放在命令行所在的目錄中
            使用 ctags -R * 生成一個(gè) tags 的文件,這個(gè)文件就是一些tag信息
            -R 代表遞歸子目錄
            * 代表所有文件

            在生成了tag信息后,就可以使用這些tag信息快速跳轉(zhuǎn)到一些地方
            比如,在打開(kāi)文件的時(shí)候我就想光標(biāo)跳轉(zhuǎn)到 print_hello 函數(shù),使用下面的命令:

            vim -t print_hello

            這個(gè)時(shí)候vim會(huì)打開(kāi)相應(yīng)的源文件,并跳轉(zhuǎn)到這個(gè)函數(shù)的位置。感覺(jué)還不錯(cuò)~

            -----------------------------------
            taglist

            接著說(shuō)剛才那個(gè)taglist, 就拿上面這個(gè)例子來(lái)講

            打開(kāi)vim后,進(jìn)入普通模式,輸入:Tlist 就會(huì)在左側(cè)打開(kāi)一個(gè)taglist的窗口
            用了一小會(huì)發(fā)現(xiàn),其實(shí)那就是一個(gè)vim的文件~

            里面顯示的內(nèi)容很像VA的 VA Outline
            比如 Functions 區(qū)域里面會(huì)顯示兩個(gè)tag

            print_hello
            print_world

            當(dāng)使用:q退出 hello.cpp 的編輯的時(shí)候,taglist還處于打開(kāi)狀態(tài)
            光標(biāo)移動(dòng)到相應(yīng)的tag上,比如 print_world 然后回車
            右側(cè)窗口就會(huì)打開(kāi) hello.cpp 并且光標(biāo)跳轉(zhuǎn)到 print_world 上

            -----------------------------------

            代碼補(bǔ)全

            我google到了一個(gè) omnicppcomplete 的玩意,也通過(guò) vim-addons 安裝了
            不過(guò)我還是不知道怎么使用,倒是之前接觸過(guò) ctrl + n 的命令。
            在輸入足夠的信息后,按 ctrl + n 即可自動(dòng)補(bǔ)全,如果只有唯一匹配,就很方便的補(bǔ)全了,如果有選擇,比如一個(gè)class 有兩個(gè) getter 函數(shù),輸入get后按ctrl+n就會(huì)出來(lái)一個(gè)選擇列表,按上下選擇敲回車確定(和VS或者VA的補(bǔ)全挺相似)

            omnicppcomplete 說(shuō)是需要ctags的信息
            然后可以達(dá)到輸入幾個(gè)字母后自動(dòng)彈出補(bǔ)全信息的選擇框~ 不過(guò)我的確沒(méi)有弄出來(lái),不知道該怎么使用~

            -----------------------------------

            Makefile

            我嘗試寫了兩個(gè)cpp和一個(gè)hpp,然后寫了個(gè)超級(jí)菜的Makefile
            有一個(gè)疑問(wèn)就是,makefile的文件名必須是“Makefile”么?
            可不可以自己定義文件名,然后在make的時(shí)候帶文件名呢?
            我嘗試了一下 make filename 好像沒(méi)對(duì)~ 不懂~
            posted on 2010-02-21 21:39 Charlie 侯杰 閱讀(6276) 評(píng)論(2)  編輯 收藏 引用
            by Charlie
            三级片免费观看久久| 国产99久久久国产精免费| 超级97碰碰碰碰久久久久最新| 久久久久久A亚洲欧洲AV冫| 青青久久精品国产免费看| 亚洲中文字幕久久精品无码喷水| 97久久国产露脸精品国产| 青青国产成人久久91网| 午夜精品久久久久久影视riav | 日韩人妻无码一区二区三区久久99| 噜噜噜色噜噜噜久久| 国产成人综合久久综合| 国产香蕉久久精品综合网| 久久91精品国产91久久麻豆| 久久国产欧美日韩精品免费| 69久久夜色精品国产69| 99久久国产宗和精品1上映| 99久久久久| 99久久久国产精品免费无卡顿| 久久这里都是精品| 久久久久国产成人精品亚洲午夜| 久久久久久久久久久久中文字幕| 日韩欧美亚洲综合久久影院Ds| 伊人久久免费视频| 国产精品久久成人影院| 人妻精品久久无码专区精东影业| 久久亚洲高清综合| 久久涩综合| 久久精品一区二区影院| 久久这里只精品国产99热| 久久精品国产久精国产| 婷婷综合久久狠狠色99h| 国产午夜免费高清久久影院| 97精品国产97久久久久久免费| 色悠久久久久久久综合网| 日日狠狠久久偷偷色综合0| 久久国产精品二国产精品| 久久国产福利免费| 久久九色综合九色99伊人| 久久综合精品国产一区二区三区| 日日狠狠久久偷偷色综合免费|