2009年9月9日 星期三

如何在vim中使用滑鼠

以下內容抄自同事的.vimrc(據其指出,也是抄自網路上其它高手),這裡只是方便偶要查詢參數設定時,可以回到自己的Blog查詢。

" set mouse=a, let you be able to change cursor by mouse
set mouse=a

" following two lines remap copy/paste plus shit key
map m :set mouse=a<cr>
map <leader>m :set mouse=<cr>

" make your scrolling to control up and down
set ttymouse=xterm
:map <M-Esc>[62~ <MouseDown>
:map! <M-Esc>[62~ <MouseDown>
:map <M-Esc>[63~ <MouseUp>
:map! <M-Esc>[63~ <MouseUp>
:map <M-Esc>[64~ <S-MouseDown>
:map! <M-Esc>[64~ <S-MouseDown>
:map <M-Esc>[65~ <S-MouseUp>
:map! <M-Esc>[65~ <S-MouseUp>

如果您有興趣進一步了解,亦可參考http://www.vim.org/htmldoc/scroll.html

籍由ctags來讓vim更方便

以往偶在看程式時,大都使用grep指令,搭配vim來進行,如需進一步tracing時,才會使用到gdb來看看程式的行為。今日偶又從同事身上學到一招----用ctags來建立tags檔,然後便可以在vim中,直接跳躍到函式實作的位置去,方法如下:

1.)在欲建立tags檔的目錄下,執行ctags指令:
$) ctags -R directory

2.)使用vim將程式檔案開啟。
$) vim xxx.c

3.)載入tags檔。
:ta tags or :set tags=../../tags

4.)當您游標移至某函式呼叫上時,您可以執行ctrl+],vim會立即跳至該函式的實作位置。

5.)若您要跳回程式原來的地方,您可以執行ctrl+T,vim會立即跳至原來呼叫該函式的位置。

6.)若您有遇到多重符合的函數或字串,您可以使用下列指令來切換選擇。
:tnext

:tselect tarname

詳情可參考man ctags