2013年12月12日 星期四

[Linux]在Ubuntu系統中打造完美vim程式開發環境 - (VIM安裝&配置 Step by step)

2015/02/23更新
cscope熱鍵:(引用自使用 vim 和 cscope 來 trace 程式碼)
當你維護的軟體專案不小時,上述功能絕對不夠用。這時你需要 cscope 的協助。當你安裝好 cscope,而且建立好專案的 cscope 資料庫之後,將游標移到程式當中某個文字串,按 Ctrl+\ 再按以下按鍵:
  • 's': 即 Symbol,以此文字串當識別字,列出專案當中所有參考到此識別字的地方,包含定義和引用
  • 'g': 即 Global,以此文字串當作 global 變數或函數的名稱,跳到專案中定義此 global 變數或函數的地方 (這個功能有另一個與 ctags 相同的快速鍵 Ctrl-])
  • 'c': 即 Calls,以此文字串當函數名稱,找出所有呼叫到的此函數的函數
  • 't': 即 Text,列出專案中所有出現此文字串的地方 (包含註解)
  • 'e': 即 Egrep,以此文字串當 regular expression,用 egrep 方式來搜尋
  • 'f': 即 File,以此文字串當檔案名稱,開啟此檔案
  • 'i': 即 Includes,以此文字串當 header 檔名稱,列出所有 include 此檔案的檔案
  • 'd': 即 calleD,以此文字串當函數名稱,列出此函數所呼叫到的函數
上述指令若是列出相關程式碼,你可以輸入數字加 Enter 來跳到該檔案的相對位置。按 Ctrl-T 就會回到游標原來的檔案和位置。你也可以用以下的方式來輸入指令 (foo 就是搜尋的文字串):
  • :cscope find symbol foo
  • :cs f s foo

taglist更新(史丹利部落格-Ubuntu安裝Vim Plugin ctags及taglist)

Taglist網站去下載zip檔http://vim-taglist.sourceforge.net/
    (1)下載後解壓縮該檔案
    # unzip taglist_45.zip
    Archive: taglist_45.zip
    inflating: plugin/taglist.vim
    inflating: doc/taglist.txt
    (2)將plugin及doc複製到家目錄的".vim"這個目錄裏,如果不存在就建一個新的".vim"
在vim裏設定功能鍵F9 - 用它來開啟/關閉taglist功能
在/etc/vim/vimrc裏加入下面1行

map  :Tlist

還未夠班 根本沒資格寫這篇
但為了 習慣vim的超陡學習曲線且看到神人前輩 將vim 用的比source insight快速方便之後,從此下定決心 將此神器 化為自己內力一環

神一下  vim  或  vim ide 可以找到一堆資料
這篇  vimide 更是一盞明燈
我卻視它為濫觴 從這邊開始 先配置好最佳使用方式及套件 我們必須關注的是 ctags 跟  cscopes 這兩個神套件 - 也有人說他們並非是vim的套件

第一步(安裝vim):sudo apt-get install vim

第二步(設定vim為預設編輯器):sudo update-alternative --config editor   進入一個清單之後選擇選擇vim所屬的編號.

第三步(安裝ctags wget與unzip):sudo apt-get install exuberant-ctags wget unzip //安裝必要套件,其中exuberant-ctags這套件是為了ctags -R . 遞迴設定時能夠順利成功!!!

第四步(設定懶人包):vimide懶人包的安裝
svn checkout http://vimide.googlecode.com/svn/trunk/linux vimide
  cd vimide/
  sh install.sh
打开目录与函数名的快捷键是:

第五步:生成tags文件

切換到代碼目錄下 執行執行ctags -R .  (-R是遞迴的意思    記得後面還有個小點)

第六步:試試看vim一份專案文件 :Tlist是否成功
:Tlist  打開打開tags列表 可使用快捷見Ctrl + O 打開來

, Ctrl + T

第七步:

sudo apt-get install cscope
mkdir -p ~/.vim/plugin
cd ~/.vim/plugin
wget http://cscope.sourceforge.net/cscope_maps.vim



第八步:
vim ~/.vimrc (若沒有此檔(開出來是空白)可以打開vim輸入:mkvimrc 就會自動生成
更改vimm設定檔
推薦設定檔  (已整理過,而且set的內容 由a到z照順序排列)



"VIMIDE vimrc basic settings
"--------start---------

set ai! "autoindenti
set autoread "If modify can sync
set bs=2 "Use backspace to delete charactor in insert mode
set backspace=start,indent,eol
set confirm "If conflict can ask
set cursorline "Draw underline at highlight result
set expandtab
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp950
set history=100 "100 history to back
set hls "highlight search
set helplang=tw
set ic "ignorecase
set incsearch
set nu! "set number of line
set mouse=a
set nowb
set nobackup
set noerrorbells
set novisualbell
set nocompatible "Disable vim as vimode
set noswapfile
set ru
set smartindent
set shiftwidth=4
set tabstop=4
set tags=tags;/
set vb t_vb= "no bi voice
set wrap


filetype plugin on
filetype indent on

syntax on
set ruler

map <> :NERDTree
map  :TlistToggle
vmap  "+y
autocmd VimEnter * NERDTree
autocmd BufEnter * silent! lcd %:p:h
"--------end--------


let Tlist_Ctags_Cmd='/usr/bin/ctags'
let Tlist_Show_One_File = 1


  let g:miniBufExplMapWindowNavVim = 1 
  let g:miniBufExplMapWindowNavArrows = 1 
  let g:miniBufExplMapCTabSwitchBufs = 1 
  let g:miniBufExplModSelTarget = 1


inoremap  :call PhpDocSingle()i 
nnoremap  :call PhpDocSingle() 
vnoremap  :call PhpDocRange() 



2 則留言:

  1. 您好,想詢問一下「第五步:生成tags文件
    切換到代碼目錄下 執行執行ctags -R .」這段的代碼目錄是什麼呢?(一直卡在這裡

    回覆刪除
    回覆
    1. 您好 就是在你程式資料夾的最外層 直接下ctags -R .
      R後面要有一個空白加一點
      就是針對目前目路往下作 遞迴的ctags
      概念有點像Makefile 會針對每一層目錄去交叉索引相關的tag(關鍵字)

      刪除