在我先前的博文?在Mac OS X中使用VIM開發STM32(1)?中,我們安裝完成了MACVIM,這一節我們安裝代碼標簽索引工具ctags,它一個最常用的功能就是“轉到定義”了,查找某個變量的出處,查找它被引用的地方等等。當然它還可以與taglist等工具配合使用,獲得更強大的功能,在這一篇文章中我們只介紹ctags的安裝與使用。
二、下載安裝ctags
在MAC OS X中,目錄/usr/bin中有ctags這個程序,這時如果你在終端輸入
$ctags
將會打印出以下信息:
$usage: ctags [-BFadtuwvx] [-f tagsfile] file ...
但是,系統自帶的ctags并不是我們想要的ctags,我們暫且忽略它,不過要記得有這么回事。
2.1 下載ctags源碼包
打開http://ctags.sourceforge.net網站下載ctags源碼包,已經很久很久沒有更新了,最新版本是ctags-5.8.tar.gz。
下載下來后,將其解壓到你的用戶文件夾下,我的用戶名是apple,所以我將它解壓到/Users/apple目錄下。
這時候應該有/Users/apple/ctags-5.8這個文件夾了,為了方便起見,我們將文件夾ctags-5.8重命名為ctags。
2.2 編譯ctags源碼
cd到ctags文件夾中,執行命令
./configure
完成后再執行命令
make
順利的話,在ctags文件夾下就會出現ctags這個可執行文件了。
2.3 添加用戶變量
如果不添加用戶變量的話,我們每次輸入ctags,調用的還是/usr/bin當中的ctags,這不是我們想要的。所以我們更改用戶變量,使ctags指向/Users/apple/ctags文件夾。
在終端執行命令
vim ~/.profile
在打開的文件中,添加這么一行
export PATH=/Users/apple/ctags:$PATH
保存退出后執行命令
source ~/.profile
使.profile生效,這時如果我們再次在終端中輸入ctags命令,就會打印出以下信息
ctags: No files specified. Try "ctags --help".
這說明系統調用了正確的ctags程序,階段性勝利!
2.4 Demo
關于ctags的使用,我們可以通過在終端輸入
$ctags —help
進行查看。
在這里我們還是以我在在博文?Mac OS X中搭建STM32開發環境(3)?中Demo使用的源碼為例子,讓大家感受一下ctags的使用方法。
我們還是將Demo源碼解壓到自己的用戶文件夾之中,這里我解壓到/Users/apple中,此時應該會有/Users/apple/stm32f4-discovery文件夾了。我們cd進去,執行命令
ctags -R
給所有的源碼文件添加索引,這時候在stm32f4-discovery文件夾下就會出現一個名為tags的文件,該文件中保存的就是所有源碼中得element reference信息。我們從當前目錄啟動MACVIM,查看main.c文件:
mvim src/main.c
這時打開了文件main.c,如下圖
舉個例子,如果我們想查看RCC的定義,只需要在vim中執行命令
:ta RCC
這時候,就會自動跳轉到RCC的定義,如圖中光標所在的行
這時,如果我們想跳回到main.c文件中,只需使用快捷鍵Ctrl+t即可。
怎么樣,還算簡單吧,復雜的功能也有很多,通過—help獲得更詳細的信息吧,另外,能夠背過命令并且熟練使用也是很重要的。
下一節我將會給大家帶來taglist的使用,就是在vim的窗口左面分出一片窗口顯示文件目錄,但是taglist的使用是需要ctags的,希望大家能首先安裝好ctags。
上一篇:在Mac OS X中使用VIM開發STM32(3)
下一篇:STM32F40xxx 與 STM32F41xxx Flash結構詳解
推薦閱讀
史海拾趣
隨著公司的發展,Codeco逐漸意識到技術創新的重要性。他們投入大量資源研發新技術,不斷提升產品的性能和用戶體驗。在一次關鍵的研發項目中,Codeco的團隊突破了某項技術難題,推出了一款引領行業潮流的新產品。這一創新不僅為公司帶來了可觀的收益,也進一步鞏固了Codeco在電子行業的地位。
FMI深知質量是企業生存和發展的根本。因此,公司一直將質量管理放在首位,建立了完善的質量管理體系。從原材料采購到生產加工、成品檢驗等各個環節都嚴格把關,確保產品質量符合客戶要求。同時,FMI還注重客戶服務體驗的提升,為客戶提供及時、專業的技術支持和解決方案。這些努力使得FMI在客戶心中樹立了良好的口碑和形象。
人才是企業發展的核心動力。Diconex公司高度重視人才培養和引進工作。公司建立了完善的人才培養機制,為員工提供廣闊的發展空間和良好的職業晉升通道。同時,公司還積極引進行業優秀人才,為公司的快速發展提供了有力的人才保障。這種人才戰略的成功實施使得Diconex在電子行業中擁有了強大的技術團隊和人才隊伍。
AZM公司成立于電子行業的蓬勃發展時期,創始人憑借對微電子技術的深刻理解和敏銳的市場洞察力,決定投身于這一領域。創業初期,公司面臨著資金短缺、技術瓶頸和市場認可度低等多重挑戰。然而,創始人憑借堅定的信念和不懈的努力,帶領團隊攻克了一個又一個技術難題,成功研發出了具有競爭力的微電子產品,并逐漸在市場上獲得了認可。
各位高人,在下有一個棘手的問題需要各位幫忙解決一下,謝謝! 問題如下: AVR Atmel atiny 13 在使用時發現有部分atiny 13 不能工作,同一PCBA上的15片,有兩片不工作,客戶程序有對fuse bit 進行編程。&n ...… 查看全部問答∨ |
1.1、古代某棋手在一次國際性比賽中贏得了第一名,為國家爭得了榮譽,國王重獎這位棋手,頒發的獎金的方式就是在棋盤的100個方格上依次放入與棋盤編號等號克數的黃金,請你設計程序幫助這位古代棋手計算出他一共獲得多少克黃金。(將結果存在30H和 ...… 查看全部問答∨ |
我剛剛開始學習powerpcb,但是我感覺到用它原理圖很麻煩處理,目前我知道可以用和它配套的powerlogic來畫原理圖,但是現在還是很多人用protel,有辦法將protel中的原理圖直接導入嗎?不需要自己再在powerlogic上把圖抄一次,再導入... ...… 查看全部問答∨ |
|
大家好: 開始時 push acc push psw 到最后又 pop psw pop acc 為什么每個程序中斷時都要先這樣?另外什么時候產生中斷 謝謝!… 查看全部問答∨ |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:58 編輯 手機輻射對人體究竟是否有傷害目前尚未尚無充分的科學證據來證明,但手機給人類帶來的另外7種“另類”危害卻毋庸置疑。 近年來,很多醫學研究表明,手機輻射很可能給人類健康帶來危害,其中 ...… 查看全部問答∨ |
wince下可以定制OS支持不同國家的語言,比如中文(簡體/繁體)、英文、日文、韓文、德文、法文等等。我們可以根據用戶的要求,在出廠時預裝您想要的語言系統。 WinCE6.0軟件資源 軟件特性: ·CPU主頻穩定工作于 ...… 查看全部問答∨ |