• <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
            好久沒寫blog了,還是隨便寫點~ linux下的東西,容易忘~

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

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

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

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

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

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

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

            sudo apt-get vim-addons

            安裝好這個過后,安裝插件就很簡單了。
            比如 taglist 就之需要使用下面的命令:

            vim-addons install taglist

            本來google到的一大堆安裝vim插件的東西,都是讓自己下載解壓到vim的文件夾
            一般說的是 #HOME/.vim/ 但是我不知道這個目錄怎么進,因為我是linux白癡 = =~

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

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

            ctags

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

            裝好了過后呢,在下次使用vim的時候,就可以先對需要tag的源文件進行處理,生成tag
            然后可以在tag間進行快速的跳轉(zhuǎ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è)這個文件就放在命令行所在的目錄中
            使用 ctags -R * 生成一個 tags 的文件,這個文件就是一些tag信息
            -R 代表遞歸子目錄
            * 代表所有文件

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

            vim -t print_hello

            這個時候vim會打開相應(yīng)的源文件,并跳轉(zhuǎn)到這個函數(shù)的位置。感覺還不錯~

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

            接著說剛才那個taglist, 就拿上面這個例子來講

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

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

            print_hello
            print_world

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

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

            代碼補全

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

            omnicppcomplete 說是需要ctags的信息
            然后可以達到輸入幾個字母后自動彈出補全信息的選擇框~ 不過我的確沒有弄出來,不知道該怎么使用~

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

            Makefile

            我嘗試寫了兩個cpp和一個hpp,然后寫了個超級菜的Makefile
            有一個疑問就是,makefile的文件名必須是“Makefile”么?
            可不可以自己定義文件名,然后在make的時候帶文件名呢?
            我嘗試了一下 make filename 好像沒對~ 不懂~
            posted on 2010-02-21 21:39 Charlie 侯杰 閱讀(6272) 評論(2)  編輯 收藏 引用
            by Charlie
            国产精品久久久久9999| 久久午夜夜伦鲁鲁片免费无码影视 | 国产精品一区二区久久精品| 久久99精品久久久久久久不卡| 成人精品一区二区久久| 超级97碰碰碰碰久久久久最新 | 国产激情久久久久久熟女老人 | 久久精品国产亚洲AV高清热| 久久99精品国产麻豆| 精品久久久久久久中文字幕| 成人综合久久精品色婷婷| 国产精品成人久久久久三级午夜电影| 久久久久久久精品妇女99| 久久国产乱子伦精品免费强| 久久久久久久精品成人热色戒 | 欧美激情精品久久久久久| 午夜精品久久久久久中宇| 办公室久久精品| 国产精品成人久久久久久久| 国产精品99久久免费观看| 国产激情久久久久久熟女老人| 久久中文字幕无码专区| 99久久国产综合精品五月天喷水 | 亚洲中文字幕无码久久综合网| 久久av高潮av无码av喷吹| 国产成人无码久久久精品一| 亚洲精品国产字幕久久不卡| 少妇久久久久久被弄到高潮| 精品久久综合1区2区3区激情| 久久精品免费观看| 久久99热国产这有精品| 精品久久久久久亚洲| 国产精品久久久久aaaa| 嫩草影院久久国产精品| 青青草国产精品久久久久| 99精品久久精品一区二区| 国产精品99久久精品| 麻豆精品久久精品色综合| 久久国产视屏| 一级a性色生活片久久无少妇一级婬片免费放 | 久久精品国产亚洲AV嫖农村妇女 |