vim+cscope+ctags一些使用筆記

來源:互聯網
上載者:User

一.概述

        首先, vim+cscope+ctags真的很強大,對於一個在Linux下玩了近2年的我來說,我在此感到十分慚愧。我之前極少使用vim,沒接觸過cscope和ctags,看程式也就用gedit和find。如今學習Linux核心時發現這3個工具非常有用,有了它們,我不用再在find之後的檔案清單裡苦苦找尋某個函數或者某個變數的定義,而是很輕鬆地找到想要的東西,最重要的是,對學習Linux核心的信心大增。在此僅以簡單的形式記錄(不完全,以後用到時再記錄)這三個東東是怎麼使用的,方便以後查詢。

二.筆記

        在Linux核心源碼根目錄下執行兩條命令:make cscope和make tags,此時會在源碼根目錄下產生cscope.out和tags等幾個檔案。

1. #vim /path/filename

    如果filename檔案存在則開啟它,如果不存在則建立之。

2. 在命令模式下:

    :q 退出,:q!強制退出(不報存),:w 儲存,:wq 儲存並退出

    /string + Enter

    向前尋找字串string

    ?string + Enter

    向後尋找字串string

     n

     尋找同一個字串的下一個

     N

     反方向尋找同一個字串的前一個

     i

     進入編輯模式

     Esc按鍵

     退出編輯模式

     v

     進入可視模式

     在可視模式下,通過上,下,左,右鍵選中文本後:

     y表示複製

     p表示粘貼

     x表示剪下

     d表示刪除

3. cscope使用

    :cs add cscope.out

    載入庫檔案,為後面利用cscope來尋找做準備

    :cs help

   查看cscope命令的用法,輸入後,顯示如下

   add  :添加一個新的資料庫             (用法: add file|dir [pre-path] [flags])
   find :查詢一個模式                        (用法: find c|d|e|f|g|i|s|t name)
       c:找到調用這個函數的函數
       d:找到被這個函數調用的函數
       e:找到這個 egrep 模式
       f:找到此檔案夾
       g:找到這個定義
       i:找檔案 #包括這個檔案
       s:找到這個 C 符號
       t:找到對其的賦值
    help :顯示此資訊                       (用法: help)
    kill :結束一個串連                      (用法: kill #)
    reset:重設所有串連                   (用法: reset)
    show :顯示串連                         (用法: show)

  

     比如說要找調用test函數的函數,則輸入:

    :cs find c test

4. catgs使用

     在命令模式下:

     ctrl + ] :找到游標所在位置的標籤的定義

     ctrl + t :回到跳轉之前的標籤處

     “找到tag:1/3或更多”其他定義的查看方法:

     :tselect 顯示列表

      然後輸入相應的數字後斷行符號再尋找

     : tag definition

      跳轉到definition定義處(可以是函數名,變數),即使它在另一個檔案中

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.