<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      誰說Vim不是IDE?(四)

      系列4主要為大家介紹使用Vim實(shí)現(xiàn)代碼瀏覽、索引、標(biāo)簽、標(biāo)記、檢索等功能,主要包括ctags、taglist和visualmark,尤其是ctags,是后續(xù)各種插件的基礎(chǔ),能夠熟練的掌握和理解為佳。下面進(jìn)入正文:

      ctags

      1、下載地址

      http://ctags.sourceforge.net

      2、功能說明

      嚴(yán)格意義上來說,ctags并不是Vim的插件,而是Linux/Unix下的標(biāo)簽命令。通過ctags -R命令可以對當(dāng)前目錄下源代碼中的類、函數(shù)、方法、變量、宏等元素進(jìn)行索引處理,并生成索引文件。Vim使用ctags生成的tag文件,即可實(shí)現(xiàn)IDE中常用的代碼跳轉(zhuǎn)功能,實(shí)乃居家旅行代碼索引的常備利器。ctags不僅支持c/c++/java等靜態(tài)語言,還支持python/perl/php/jsp等動(dòng)態(tài)腳本語言,就目前我的使用情況,ctags基本不支持Objective-C,對Ruby支持的也很糟糕,隨著這些語言的普及和發(fā)展,希望后續(xù)版本的ctags會(huì)對更多的編程語言有更好的支持。

      3、安裝

      對于Ubuntu,可以使用如下命令安裝:sudo apt-get install ctags,安裝完成后在終端鍵入ctags --help,看到正常的幫助信息就說明安裝成功了。

      對于Mac用戶來說,OS X自帶了ctags命令,但這并不是vim所需要的ctags,要重新安裝:sudo port install ctags。由于OS X自帶的ctags位于/usr/bin目錄下,一般在PATH中是優(yōu)先加載的,所以安裝完成后,還需要設(shè)置一下環(huán)境變量,確保你在命令行使用的是新安裝的ctags。如果沒做特殊設(shè)置,安裝的ctags一般在/opt/local/bin下,在當(dāng)前用戶的.profile中增加如下代碼:export PATH=/opt/local/bin/:$PATH,在終端執(zhí)行source .profile可立即生效。

      4、使用說明

      • 創(chuàng)建標(biāo)簽索引
        前面我們提到過,ctags主要是用來創(chuàng)建Vim可以使用的tag索引文件,使用ctags -R即可對當(dāng)前目錄下的代碼遞歸建立索引文件,文件保存在當(dāng)前目錄下,默認(rèn)文件名為tags,文件大小和你要索引的代碼量有關(guān)。
        如果想自己指定tag文件的位置和索引代碼的位置,可以使用如下命令實(shí)現(xiàn):
        ctags -R -o ~/.vim/ctags/pythontags /somepythondir/

      • 設(shè)置索引文件的位置
        Vim在運(yùn)行過程中需要知道tag的索引文件位置,如果不指定的話,Vim會(huì)在當(dāng)前目錄下尋找名為tags的文件作為tag索引文件。
        如果想使用某個(gè)目錄下的索引文件,在該目錄下啟動(dòng)Vim即可。也可以在啟動(dòng)后通過如下命令設(shè)置或改變索引文件的位置:
        set tags=/home/xxx/xx/tags, xxxx/tags,......

      當(dāng)然,你也可以把這條命令寫到.vimrc中。

      • 在Vim中使用tag
        tag的索引文件和位置都設(shè)置好之后,萬事俱備,現(xiàn)在我們就可以在Vim中使用tag進(jìn)行代碼跳轉(zhuǎn)和跟蹤。
        ctags主要對源代碼中的類、方法、變量等元素進(jìn)行了索引,所以,如果我們記得某個(gè)類名、方法名或變量名,想在命令行下直接打開隱藏在重重疊疊的目錄深處的某個(gè)文件時(shí),以下命令可以幫助我們實(shí)現(xiàn)這個(gè)功能:
        vim -t class | method | variable
        例如,你想打開包含了loadCache方法的文件,可以用如下命令:
        vim -t loadCache
        如果多個(gè)文件中包含loadCache方法,vim會(huì)按照字母順利打開第一個(gè)文件。想查看其他文件,可以使用ts命令, :ts會(huì)列出所有包含loadCache標(biāo)簽的文件,輸入文件序號可以打開文件并定位到loadCache標(biāo)簽,通過j和k可以上下滾屏。

      如果只是通過vim命令打開文件,那么可以使用如下命令進(jìn)行文件檢索和瀏覽:

      :ta tagname 跳轉(zhuǎn)到標(biāo)簽tagname定義的地方
      :stag tagname 在分割窗口中查看包含tagname的文件
      :tags 查看到達(dá)當(dāng)前位置所經(jīng)過的標(biāo)簽路徑
      :ts tagname 列出匹配tagname的標(biāo)簽,如為空,則使用標(biāo)簽棧中最后的標(biāo)簽
      :tf 跳轉(zhuǎn)至第一個(gè)匹配的標(biāo)簽
      :tl 跳轉(zhuǎn)至最后一個(gè)匹配的標(biāo)簽
      

      跳轉(zhuǎn)快捷鍵:

      ctrl-] :跳轉(zhuǎn)至光標(biāo)所在對象定義之處
      ctrl-t :返回跳轉(zhuǎn)前位置
      [n]ctrl-t :[n]為數(shù)字,向回跳轉(zhuǎn)n次;等價(jià)于重復(fù)n次ctrl-t操作
      

      5、注意事項(xiàng)

      確認(rèn)vim在打開文件時(shí)能夠找到相關(guān)的標(biāo)簽文件tags。

      taglist

      1、下載地址

      https://github.com/vim-scripts/taglist.vim

      2、功能說明

      taglist是Vim的一個(gè)代碼瀏覽的插件,類似IDE中的Outline視圖,可以根據(jù)不同語言的代碼顯示代碼中的包、類、接口、方法、函數(shù)、變量、屬性等內(nèi)容,是Vim瀏覽代碼的一個(gè)必備工具。

      如圖:

       

      taglist同樣需要依賴ctags命令生成tag。

      3、安裝

      • 進(jìn)入~/.vim/bundle目錄
      • 執(zhí)行: git clone git://github.com/vim-scripts/taglist.vim.git

      • .vimrc文件設(shè)置taglist的配置信息,以下是我的偏好設(shè)置

          "taglist{
            let Tlist_Show_One_File = 1            "只顯示當(dāng)前文件的taglist,默認(rèn)是顯示多個(gè)
            let Tlist_Exit_OnlyWindow = 1          "如果taglist是最后一個(gè)窗口,則退出vim
            let Tlist_Use_Right_Window = 1         "在右側(cè)窗口中顯示taglist
            let Tlist_GainFocus_On_ToggleOpen = 1  "打開taglist時(shí),光標(biāo)保留在taglist窗口
            let Tlist_Ctags_Cmd='/opt/local/bin/ctags'  "設(shè)置ctags命令的位置
            nnoremap <leader>tl : Tlist<CR>        "設(shè)置關(guān)閉和打開taglist窗口的快捷鍵
            "}
            

      4、使用說明

      taglist參數(shù)介紹,大家可以根據(jù)自己的偏好在.vimrc中設(shè)置:

      • Tlist_Ctags_Cmd:設(shè)置ctags命令的位置
      • Tlist_Use_Horiz_Window:設(shè)置為1時(shí),taglist窗口橫向顯示。默認(rèn)縱向顯示
      • Tlist_WinHeight:設(shè)置taglist窗口的寬度
      • Tlist_WinWidth:設(shè)置taglist窗口的高度
      • Tlist_Show_One_File:設(shè)置Tlist_Show_One_File為1則只顯示當(dāng)前文件的taglist,缺省顯示多個(gè)文件中的tag
      • Tlist_Sort_Type:taglish默認(rèn)按tag在文件中出現(xiàn)的順序進(jìn)行排序,設(shè)置為"name",taglist將以tag名字進(jìn)行排序
      • Tlist_Exit_OnlyWindow:設(shè)置為1時(shí),如果taglist是最后一個(gè)窗口,則退出vim
      • Tlist_Use_Right_Window:設(shè)置為1時(shí),taglist窗口出現(xiàn)在右側(cè),缺省顯示在左側(cè)
      • Tlist_Auto_Open:如果想在啟動(dòng)VIM后自動(dòng)打開taglist窗口,該參數(shù)設(shè)置為1
      • Tlist_Close_On_Select:如果想在選擇了tag后自動(dòng)關(guān)閉taglist窗口,該參數(shù)設(shè)置為1
      • Tlist_GainFocus_On_ToggleOpen:設(shè)置為1時(shí),打開taglist光標(biāo)保留在taglist窗口

      當(dāng)使用vim打開某個(gè)程序文件時(shí),我們可以用:Tlist打開taglist窗口,如果該程序具備類、接口、屬性等元素,就會(huì)在taglist窗口顯示出來。我們可以通過以下這些常用快捷鍵來操作taglist:

      • 通過光標(biāo)選擇tag,回車可以跳到定義該tag的程序位置
      • 選中tag時(shí)按空格鍵,會(huì)在狀態(tài)欄下方顯示該tag的完整定義
      • x,橫向放大或縮小taglist窗口
      • =,折疊所有的tag
      • +,打開所有的tag

      5、注意事項(xiàng)

      確認(rèn)在.vimrc中使用Tlist_Ctags_Cmd定義了正確的ctags命令的位置,否則會(huì)出現(xiàn)找不到tag的錯(cuò)誤信息。

      visualmark

      1、下載地址

      http://www.vim.org/scripts/download_script.php?src_id=4700

      2、功能說明

      visualmark,顧名思義,就是在你閱讀代碼或編寫代碼的時(shí)候隨時(shí)快速打標(biāo)簽,并通過快捷鍵來回切換瀏覽。如圖:

      visualmark

      3、安裝

      .vim/bundle下建立文件夾visualmark/plugin,把下載的文件visualmark.vim復(fù)制到該文件夾下。

      4、使用說明

      使用vim打開一個(gè)文件,使用快捷鍵mm設(shè)置標(biāo)簽,通過F2和shift+F2可以上下切換瀏覽。
      我們還可以對標(biāo)簽的樣式進(jìn)行定制:
      打開visualmark.vim,找到如下代碼修改:

      //根據(jù)背景色設(shè)置標(biāo)簽顏色,cterm表示為原生vim設(shè)置樣式
      if &bg == "dark"
      highlight SignColor ctermfg=white ctermbg=blue guifg=white guibg=peru
      else
      highlight SignColor ctermbg=white ctermfg=red guibg=grey guifg=RoyalBlue3
      endif
      

      5、注意事項(xiàng)

       

      祝大家開心每一天(?)

      posted @ 2012-12-17 21:38  池建強(qiáng)  閱讀(24285)  評論(21)    收藏  舉報(bào)
      主站蜘蛛池模板: 激情五月开心婷婷深爱| 日本高清久久一区二区三区| 中文字幕日韩精品人妻| 国产色视频网站免费| JIZZJIZZ国产| 精品国产91久久粉嫩懂色| 亚洲免费的福利片| 精品国产迷系列在线观看| 91久久亚洲综合精品成人| 制服丝袜美腿一区二区| 中文人妻无码一区二区三区在线 | 一本久久a久久精品综合| 色综合天天综合网天天看片| 日韩一区精品视频一区二区| 亚洲第一天堂无码专区| 亚洲精品一区二区三区片| 亚洲国产综合自在线另类| 国色天香成人一区二区| 欧美高清freexxxx性| 91精品久久久久久无码人妻| 国产成人综合色就色综合| 深夜福利啪啪片| 欧美韩中文精品有码视频在线 | 国内揄拍国内精品少妇国语| 日韩高清不卡一区二区三区| 毛片一区二区在线看| 国产四虎永久免费观看| 色国产视频| 中文字幕无码人妻aaa片| 蜜臀久久综合一本av| 午夜好爽好舒服免费视频| 国产成人精彩在线视频| 国产又色又爽又高潮免费| 久久国产精品亚洲精品99| 免费人成网站免费看视频| 日日碰狠狠添天天爽五月婷| 国产亚洲亚洲国产一二区| 午夜毛片精彩毛片| 德兴市| 色五月丁香五月综合五月4438| 欧美怡春院一区二区三区|