1年不用,都記得差不多了。再拿起來,呵呵......
ubuntu 10.04系統
安裝外掛程式(用vim-addons命令安裝):
一、bufexplorer:快捷鍵為/be(只有乙個buffer的時候不會出現)
二、taglist:命令是,tlist開啟,tlistclose關閉
三、alternate:也是a.vim,標頭檔案和實現檔案切換.快捷健a
四、cscope使用:
新增cscope_maps.vim外掛程式
先在~/vimrc中增加一句:
:set cscopequickfix=s-,c-,d-,i-,t-,e-
這個是設定是否使用 quickfix 視窗來顯示 cscope 結果。
$ cd /home/wooin/vim71/
$ cscope -rbq
# 此後會生成三個檔案
$ ll cscope.*
-rw-rw-r-- 1 wooin wooin 1.1m 2007-09-30 10:56 cscope.in.out
-rw-rw-r-- 1 wooin wooin 6.7m 2007-09-30 10:56 cscope.out
-rw-rw-r-- 1 wooin wooin 5.1m 2007-09-30 10:56 cscope.po.out
# 開啟檔案, 開始coding
$ cd src
$ vi main.c
進入vim後第一件事是要把剛才生成的cscope檔案匯入到vim中來, 用下面的命令:
:cs add /home/wooin/vim71/cscope.out /home/wooin/vim71
上面這條命令很重要, 必須寫全, 不能只寫前半句:
:cs add /home/wooin/vim71/cscope.out
因為原始碼是多級目錄的, 如果這樣寫, cscope是無法在子目錄中的原始碼中工作的, 當然, 如果你的原始碼都
在同一級目錄中就無所謂了. 如果你要經常用cscope的話, 可以把上面那句加到~/.vimrc中去
cscope的主要功能是通過同的子命令"find"來實現的
"cscope find"的用法:
cs find c|d|e|f|g|i|s|t name
0 或 s 查詢本 c 符號(可以跳過注釋)
1 或 g 查詢本定義
2 或 d 查詢本函式呼叫的函式
3 或 c 查詢呼叫本函式的函式
4 或 t 查詢本字串
6 或 e 查詢本 egrep 模式
7 或 f 查詢本檔案
8 或 i 查詢包含本檔案的檔案
如果每次查詢都要輸入一長串命令的話還真是件討人厭的事情, cscope的幫助手冊中推薦了一些快捷鍵的用法, 下面是其中一組, 也是我用的, 將下面的內容新增到~/.vimrc中, 並重啟vim:
nmap s :cs find s =expand("")
nmap g :cs find g =expand("")
nmap c :cs find c =expand("")
nmap t :cs find t =expand("")
nmap e :cs find e =expand("")
nmap f :cs find f =expand("")
nmap i :cs find i ^=expand("")$
nmap d :cs find d =expand("")<
set cst "和tags一起用
set cscopequickfix=s-,c-,d-,i-,t-,e-
五、ctags使用:
$ cd /home/wooin/vim71
$ ctags -r
此時在/home/wooin/vim71目錄下會生成乙個 tags 檔案, 現在用vim開啟 /home/wooin/vim71/src/main.c
$ vim /home/wooin/vim71/src/main.c
再在vim中執行命令:
:set tags=/home/wooin/vim71/tags
該命令將tags檔案加入到vim中來, 你也可以將這句話放到~/.vimrc中去, 如果你經常在這個工程程式設計的話.
按下, 游標會自動跳到游標所在函式的定義處,如果此時你還想再跳回剛才的位置, 你還可以按, 這樣又跳回了。
* :tag 關鍵字(跳轉到與「關鍵字」匹配的標記處)
* :tselect [關鍵字](顯示與「關鍵字」匹配的標記列表,輸入數字跳轉到指定的標記)
* :tjump [關鍵字](類似於「:tselect」,但當匹配項只有乙個時直接跳轉至標記處而不再顯示列表)
* :tn(跳轉到下乙個匹配的標記處)
* :tp(跳轉到上乙個匹配的標記處)
* ctrl-](跳轉到與游標下的關鍵字匹配的標記處;除「關鍵字」直接從游標位置自動獲得外,功能與「:tags」相同)
* g](與「ctrl-]」功能類似,但使用的命令是「:tselect」)
* g ctrl-](與「ctrl-]」功能類似,但使用的命令是「:tjump」)
* ctrl-t(跳轉回上次使用以上命令跳轉前的位置)
六、omnicppcomplete使用
七、lookupfile使用(需要genutils)
專案檔案查詢:按」「或輸入」:lookupfile「
緩衝區查詢:」:lubufs「命令開始在緩衝區中查詢
瀏覽目錄:使用」:luwalk「開啟lookupfile視窗後
八、配置檔案
"""""""""""""""""""""""
" xunchen's vimrc
"""""""""""""""""""""""
set nocompatible "不要vim模仿vi模式,否則會有很多不相容的問題
set noedcompatible "去掉輸入錯誤提示聲音
syntax on "語法高亮顯示
filetype on "開啟檔案型別自動檢測
filetype plugin on "開啟外掛程式型別自動檢測
set number "顯示行號
set nobackup "不新增備份檔案
set autoread "當檔案外部修改時,自動重新讀取
set tabstop=4 "tab鍵的寬度
"統一縮排為4
set softtabstop=4
set shiftwidth=4
set autoindent "自動縮排
set cindent "支援c/c++縮排
" for cscope
set cst "和tags一起用
set cscopequickfix=s-,c-,d-,i-,t-,e-
" for taglist plugin
let tlist_ctags_cmd = 'ctags'
let tlist_show_one_file = 1 "不同時顯示多個檔案的tag,只顯示當前檔案的
let tlist_exit_onlywindow = 1 "如果taglist視窗是最後乙個視窗,則退出vim
let tlist_use_right_window = 1 "在右側視窗中顯示taglist視窗
" for lookupfile
if filereadable("./filenametags") "設定tag檔案的名字
let lookupfile_tagexpr = '"./filenametags"'
endif
let lookupfile_minpatlength = 2 "最少輸入2個字元才開始查詢
let lookupfile_preservelastpattern = 0 "不儲存上次查詢的字串
let lookupfile_preservepatternhistory = 1 "儲存查詢歷史
let lookupfile_alwaysacceptfirst = 1 "回車開啟第乙個匹配專案
let lookupfile_allownewfiles = 0 "不允許建立不存在的檔案
" 生成c/c++ tags cscope
map :call build_tagfile()
function build_tagfile()
if has("cscope")
silent! execute "cs kill -1"
endif
if(executable('ctags'))
silent! execute "!ctags -r --c-types=+p --fields=+s *"
silent! execute "!ctags -r --c++-kinds=+p --fields=+ias --extra=+q ."
execute "set tags+=tags"
endif
if(executable('cscope') && has("cscope"))
silent! execute "!find . -name '*.h' -o -name '*.c' -o -name '*.cpp' > cscope.files"
silent! execute "!cscope -rbq"
execute "normal :"
if filereadable("cscope.out")
execute "cs add cscope.out"
endif
endif
silent! execute "!~/.vim/loookupfile.sh"
endfunction
vim個人極簡配置
用途 用vim進行c語言程式設計學習資料結構 用的mac自帶vim cd touch vimrc set number 顯示行號 set cursorline 突出當前行 set cindent c語言縮排風格 set smartindent 自動縮排 set tabstop 4 tab顯示寬度 建...
vim 配置與使用
一般情況下,配置 vimrc 可以更改vim 的表現。有很多已經寫的很好的 vimrc 例如 讓cygwin shell使用英文介面只用在 bashrc這個檔案裡面加上一句話 export lang en us quickfix的使用 對大多數使用makefile的專案來說,vim的預設設定 mak...
Vim配置 Vim中使用滑鼠功能
最近在使用vim,忽然發現vim也能使用滑鼠,本章主要說明如何使用滑鼠功能。set mouse a set mouse a mouse 的引數說明 n 普通模式 v 可視模式 i 插入模式 c 命令列模式 h 在幫助檔案裡,以上所有模式 a 以上所有模式 r 跳過 lit enter 提示 a 在可...