• set up trace code tool


    這以 GNU GLOBAL 6.5.6 為示範

    1:

    install GNU GLOBAL

    https://www.gnu.org/software/global/download.html

    sudo ./configure;

    若有以下 error,請看更下方的 Q5 說明。

    configure: checking "location of ncurses.h file"...
    configure: error: curses library is required but not found.
    If you are not going to use gtags-cscope, please try ./configure --disable-gtagscscope

    sudo make;

    sudo make install

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

    Q5. What is the message? What should I do?

    'configure: error: curses library is required but not found."

    A5. gtags-cscope(1) requires curses library. There are two choices of yours.

                 If you use gtags-cscope(1)

                           Please install curses library. You can get it here:

                           http://www.gnu.org/software/ncurses/

                 else

                           You can install GLOBAL without gtags-cscope(1) like follows:

                           $ ./configure --disable-gtagscscope

                           $ make

    因為這裡要使用 gtags-cscope,

    所以要 install curses library. 參考下方

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

    2:

    install curses library

    http://www.gnu.org/software/ncurses/

    sudo ./configure; sudo make; sudo make install;

    3 :

    install vundle

    https://github.com/VundleVim/Vundle.vim

    sudo apt-get install git curl

    git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

    請看 https://github.com/VundleVim/Vundle.vim 的 Quick Start 的 第3步驟 Configure Plugins:

    4 :

    以下要依照 user 當時所安裝的 gnu global 版本,plugin 對應版本的 gtags.vim、gtags-cscope.vim,

    可以下載 gnu global source code,裡面就有對應版本的 gtags.vim、gtags-cscope.vim

    或是在網路上搜尋對應版本的 gtags.vim,gtags-cscope.vim 並使用以下的 Vundle plugin 方式

    Plugin 'bbchung/gtags.vim'
    Plugin 'multilobyte/gtags-cscope'

    5:

    在您要 tag 的 source code 的資料夾下,

    執行

    gtags

    6:

    假如您在 source code 找一個定義,

    :cs find g the_definition_you_want_find

    若出現以下訊息

    E567: no cscope connections

    需在 ~/.vimrc 加入以下

    let g:GtagsCscope_Auto_Load = 1

    若需要使用 cscope 的快捷鍵,       ===〉  注意,VirtualBox 4.3.36 無法使用組合鍵,如 ctrl 加上 再加上 s

    快捷鍵在 gtags-cscope.vim 有說明,

    需在 ~/.vimrc 加入以下 code 。

    let g:GtagsCscope_Auto_Map = 1

    cscope command

     54 "       explanation             command 
     55 "       ----------------------------------------------------------
     56 "       Find symbol             :cs find 0 or s
     57 "       Find definition         :cs find 1 or g
     58 "       Find functions called by this function  (not implemented)
     59 "       Find reference          :cs find 3 or c
     60 "       Find text string        :cs find 4 or t
     61 "       Find egrep pattern      :cs find 6 or e
     62 "       Find path               :cs find 7 or f   ===>  跳至 include 的 file。如:#include "t.h",跳至 t.h
     63 "       Find include file       :cs find 8 or i   ===>  找尋有那些 source code 有 include 這個 文件。 如: a.c b.c 都有 include "c.h"

    快捷鍵

    ctrl + + s | g | c | t | e | f | i

    232             " normal command
    233             :nmap <C->s :cs find s <C-R>=expand("<cword>")<CR><CR>
    234             :nmap <C->g :cs find g <C-R>=expand("<cword>")<CR><CR>
    235             :nmap <C->c :cs find c <C-R>=expand("<cword>")<CR><CR>
    236             :nmap <C->t :cs find t <C-R>=expand("<cword>")<CR><CR>
    237             :nmap <C->e :cs find e <C-R>=expand("<cword>")<CR><CR>
    238             :nmap <C->f :cs find f <C-R>=expand("<cfile>")<CR><CR>
    239             :nmap <C->i :cs find i <C-R>=expand("<cfile>")<CR><CR>

    Gnu Global :

    好用功能

    1。尋找在一個 Project中 被 Gnu Global tag 的檔案。      

    global -P file_name

    若有加入 Unite 相關的 plugins

    Plugin 'Shougo/unite.vim'
    Plugin 'hewes/unite-gtags'

    則可在 .vimrc 加入以下的快速鍵。

    key : control + g (gnu global) + f (file)

    :nmap <C-g>f :Unite gtags/path:

    示範:

    vim 按下 control + g + f,

    若輸入 battery。

    如下

    :Unite gtags/path:battery

    顯示搜尋到的結果

    看到好多的搜尋結果,

    如何縮小範圍呢?

    按下 i,

    鍵入您的 keyword 即可。

    若不輸入,直接 press enter,

    :Unite gtags/path:

    則列出所有被 tag 的 file,並且可以輸入 keyword,從中搜尋您所要編輯的 file 。

  • 相关阅读:
    CStrFun
    CUrl
    CCrawl
    CHttp
    类的实例化
    #include文件时用双引号和尖括号的区别
    对于给定的若干个整数,要求计算它们的和!
    汉诺塔问题
    随机数的生成代码
    排列组合C++
  • 原文地址:https://www.cnblogs.com/youchihwang/p/6362850.html
Copyright © 2020-2023  润新知