• <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>
            隨筆 - 96  文章 - 255  trackbacks - 0
            <2008年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            E-mail:zbln426@163.com QQ:85132383 長期尋找對戰略游戲感興趣的合作伙伴。

            常用鏈接

            留言簿(21)

            隨筆分類

            隨筆檔案

            SDL相關網站

            我的個人網頁

            我的小游戲

            資源下載

            搜索

            •  

            積分與排名

            • 積分 - 492138
            • 排名 - 38

            最新評論

            閱讀排行榜

            評論排行榜

                    Vim是一個強大的文本編輯器。我們在win32平臺下用VC寫代碼的時候,常常比較習慣VC給予的一些格式控制和代碼補全功能,而這些功能都是可以在vim中實現的,并且,已經有前人為我們寫好了插件腳本,我們只需要非常簡單的設置,就可以迅速的構建出類似VC的C++編譯環境。
                    Vim的配置文件通常在~/.vimrc中。我們首先可以加入這樣兩句:
            syntax on            //語法高亮打開,這樣我們就可以看倒C/C++的關鍵字成為了彩色;
            :set cin!               //C縮進打開,這樣vim會自動判斷縮進的設置;
                    完成這樣的設置后,當我們創建或者打開vim所能識別的C/C++源文件的時候,我們就可以看到關鍵字的顏色以及自動的縮進了。
                    需要指出的一點是,按照Unix源程序的習慣,我們最好以ASCII編碼來寫程序,而Debian的內部編碼默認是UTF-8。當然,如果我們vim創建的文件沒有漢字等其他字符的時候,產生的文件自動是ASCII編碼的,但是,某些插件,比如vim的c-support插件會自動添加文件的創建日期,這樣,因為我們系統默認語言一般是zh_CN,所以就會產生中文的日期顯示。所以,一個解決方法是在運行創建cpp文件的vim的時候,指定使用的語言,或者,干脆做一個alias來簡單使用:
            alias cvim='LC_ALL=C vim'
            這樣,就可以確保創建的cpp文件不帶非ASCII字符。

                    接下來,我們簡單了解一下ctags。簡單說,ctags是為許多計算機語言的源代碼文件做索引,以提供給編輯器(比如我們的vim)使用的。我們先看看ctags的幫助:
            ctags --help
            以下信息是我們將用到的:
            -R   Equivalent to --recurse.
            --recurse=[yes|no]    Recurse into directories supplied on command line [no].
            --languages=[+|-]list
                   Restrict files scanned for tags to those mapped to langauges
                   specified in the comma-separated 'list'. The list can contain any
                   built-in or user-defined language [all].
            --fields=[+|-]flags
                  Include selected extension fields (flags: "afmikKlnsStz") [fks].
            --extra=[+|-]flags
                  Include extra tag entries for selected information (flags: "fq").
            我們用這樣的命令在源文件所在的目錄運行:(用樣,我們可以做一個alias,我們最后來討論這個問題)
            ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
            其中參數的含義是:原文出處
            --c++-kinds=+p  : 為C++文件增加函數原型的標簽
            --fields=+iaS   : 在標簽文件中加入繼承信息(i)、類成員的訪問控制信息(a)、以及函數的指紋(S)
            --extra=+q      : 為標簽增加類修飾符。注意,如果沒有此選項,將不能對類成員補全

                    好了,現在準備知識講完了。我們先實現C++對象用.或者->調用方法的時候自動產生選擇的下拉菜單。我們需要的插件是OmniCppComplete,在vim官方這里下載:
            http://www.vim.org/scripts/script.php?script_id=1520
            下載到的是一個壓縮包,解壓到~/.vim/下相應的目錄就可以了。另外,我們需要在~/.vimrc中打開裝載插件:
            :filetype plugin on
            (或許還需要打開vim對源代碼的識別,不過我是沒有用到,Debian 4.0,如果需要的話,再加上:filetype indent on)
            另外,我們關閉vim默認的預覽窗口:
            :set completeopt=longest,menu
                    這樣,當我們創建了對象,用.或者->的時候,就會自動調出類方法的選擇窗口了。

                    另外一個常見的補全是對函數的補全,也有現成的插件可以用code_complete:
            http://www.vim.org/scripts/script.php?script_id=1764
            這個安裝就更簡單了,直接把code_complete.vim拷貝到~/.vim/plugin/下面就可以了。
            插件的使用方法是,當寫完一個函數,并打上左括號(之后,按tab鍵就可以看倒函數參數列表了,包括重載的函數。

                    最后,我們不希望記那么多參數,希望使用起來簡單一些,我們只需要在bash運行的時候申明我們的兩個alias就可以了。在~/.bashrc中添加:
            alias vctags='ctags -R --c++-kinds=+p --fields=+iaS --extra=+q'
            alias cvim='LC_ALL=C vim'
            關閉終端后重啟動,可以用type查看我們的新命令已經生效了:
            lf426@fleet:~$ type vctags
            vctags is aliased to `ctags -R --c++-kinds=+p --fields=+iaS --extra=+q'



            posted on 2008-05-27 17:29 lf426 閱讀(4719) 評論(0)  編輯 收藏 引用 所屬分類: Linux與C++
            亚洲狠狠婷婷综合久久久久| 成人国内精品久久久久影院VR| 日韩十八禁一区二区久久| 久久久久国产日韩精品网站| 手机看片久久高清国产日韩| 久久精品国产2020| 久久久久久久综合日本亚洲 | 国产精品VIDEOSSEX久久发布| 国产精品欧美久久久久无广告| 久久婷婷是五月综合色狠狠| 久久国产免费观看精品3| 国产无套内射久久久国产| 亚洲日本va中文字幕久久| 97精品国产97久久久久久免费| 久久AV无码精品人妻糸列| 久久久久久久综合日本亚洲| 青青草原综合久久大伊人导航| 72种姿势欧美久久久久大黄蕉| 亚洲精品视频久久久| A级毛片无码久久精品免费| 久久婷婷激情综合色综合俺也去| 久久久WWW免费人成精品| 狠狠干狠狠久久| 久久人人妻人人爽人人爽| 精品久久久久久无码不卡| 久久久久人妻一区精品| 人人狠狠综合久久亚洲88| 久久精品中文闷骚内射| 无码人妻精品一区二区三区久久久| 久久久免费观成人影院| 国产激情久久久久影院老熟女| 久久青青草原国产精品免费| 精品久久久久久中文字幕人妻最新| 18岁日韩内射颜射午夜久久成人| 亚洲国产精品综合久久一线 | 久久er99热精品一区二区| 精品人妻伦九区久久AAA片69| 性做久久久久久久久| 亚洲午夜精品久久久久久app| 亚洲人成无码www久久久| 伊人色综合久久天天网|