VIM中查看標頭檔和庫函數的方法 __函數

來源:互聯網
上載者:User

 VIM中查看標頭檔,庫函數的方法:

  1、最簡單的方法是安裝對應庫的man手冊,直接在終端man xxx(函數)如 man printf 就會看到pringf相關的資訊,這種方法簡單而且顯示的資訊很多,前提是你的英文必須過關。這種方法不是這裡的重點。

  安裝一個最基本的文檔sudo apt-get install manpages-dev

  2、這種方法可以讓你更瞭解標頭檔或核心源碼的結構

  (1)首先安裝一個工具Ctags:sudo apt-get install Ctags

  讓後我們進入/usr/include或你的核心目錄進行如下操作:ctags -R *,這會在目前的目錄下遞迴的為各個子目錄產生一個名為tags標籤檔案,這個操作在第一次執行後即可。

  現在在我們執行vim -t printf我們會看到我們進入了vim的編輯介面同時也到了printf聲明的地方。或直接進入vim編輯介面輸入 :tag <函數名或宏等> 按TAB鍵可以進行模式比對,繼續安TAB匹配下一個。

  可是這樣查到的東西可能不是你想要的那一個,怎麼解決這個問題呢。

  (2)解決上面問題需要安裝一個工具cscope:sudo apt-get install cscope

  上面幾個工具單獨用功能不是很大,可是結合起來功能就非常強大了。我這裡有一個自己用的vim指令碼,是拷貝別人的功能不是很多,但是已經夠用了。

  在使用者目錄下建立一個.vimrc檔案將下面內容添加到檔案中:

 

 

set mouse=a
        let Tlist_Use_Right_Window=1
        let Tlist_File_Fold_Auto_Close=1
        map :TlistToggle
        noremap :make
        noremap :make clean;make
        noremap :Tlist
        noremap :TlistSync
        noremap :!./vitags.sh:cs reset
        noremap :!cvs up
        nnoremap @=((foldclosed(line(''.'')) < 0)       ''zc'' : ''zo'')

if has("multi_byte")
        set encoding=utf-8
        set fileencoding=chinese
        set fileencodings=ucs-bom,utf-8,chinese
        endif
        set wrap
        set hlsearch
        filetype plugin on

colorscheme elflord
        syntax on

set nocp
        filetype plugin on
        filetype indent on

if has("cscope")
        set csprg=/usr/bin/cscope
        set csto=0
        set cst
        set nocsverb
        " add any database in current directory
        if filereadable("cscope.out")
        cs add cscope.out
        " else add database pointed to by environment
        elseif $CSCOPE_DB != ""
        cs add $CSCOPE_DB
        endif
        set csverb
        set cscopetag
        endif

set nu
        set ts=4
        set sw=4

set ru
        set hls
        set is
        set sm
        set cin
        set cino=:0g0t0(sus

set autoread                              " read open files again when changed outside Vim
        set incsearch                              " use incremental search
        set nowrap                               " do not wrap lines
        set nobackup
        set nowritebackup
        map :!ctags -R --c-kinds=+p --fields=+iaS --extra=+q .
        map :!ctags -R .

  現在再試試vim -t <函數名或宏等>,這時如果有多個選項的話就會出現一個列表讓你選擇你需要的那個。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.