顯示具有 vim使用小技巧 標籤的文章。 顯示所有文章
顯示具有 vim使用小技巧 標籤的文章。 顯示所有文章

2009年10月16日 星期五

如何使用vim來編輯hex檔?

先前曾經記載了如何使用vim來檢視hex檔,當時因為苦於編修完無法存檔,前幾日剛好看到同事正在使用,特別請教一下,並記錄於此,方法如下:

欲看hex mode的指令:
:%!xxd

欲在hex mode編輯文件,方法同一般文件:
按'i'鍵,讓vim進入insert mode,即可編輯。

欲儲存編修過的hex內容:
必須先讓文件離開hex mode:
:%!xxd -r
然後再儲存:
:wq or :w!

大家可以試試看!

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

2008年10月28日 星期二

如何在數行內容中,插入/移除字元?

一般我們在編輯文件時,偶爾會需要對數行的內容插入或移除一些字元或符號,此時我們可以以下列的動作來完成:
1. )在vim的一般模式下,按「Ctrl + v」,此時會進入區塊選取模式。
2. )利用游標的方向鍵,選取適當的區塊。
3. )按「Shift + i」,進入插入模式。
4. )進行所需的修改。
5. )修改完後,按「ESC」結束區塊編輯模式。

2008年7月11日 星期五

重複前次編輯動作

我們使用vim編輯文件的時侯,時常會要在某些地方插入特定的文字或內容,可以使用下列的方法來簡化修改或編輯文件的程序:
1.)按「/」鍵,並鍵入關鍵字搜尋您要編輯的位置。
2.)按「i」進入插入模式。
3.)進行編輯修改。
4.)按「ESC」離開插入模式。
5.)尋找下一個欲進行相同編輯修改內容的地方(如果和前一次搜尋字串有雷同,可以直接按「n」進行尋找)。
6.)此時再按「.」鍵,您就可以看到相同的編輯修改在您所選定的地方被執行。

2008年5月30日 星期五

在vim中常用的跳躍

在vim中的跳躍,對一個程式開發者來說甚為方便,舉例來說:
當您在build code時若發生錯誤,此時您使用vim開啟source file後,使用下列的指令,即可立即跳至該行:
<行號> G

當您須要開啟一個Log File時,若此Log File很大(也許數百MB),使用一般的文字編輯器需要花一段時間才能開啟檔案,且在檔案下拉時,還會停頓;此時,若改以vim來開啟,速度快很多,且可以使用下列指令,立刻至檔尾查看bug發生的原因:
G

當您有需要跳至檔首察看某些宣告時,亦可使用下列指令:
gg

使用vim檢視hex file

您可以使用下列指令來檢視hex file
:%!xxd

2008年5月29日 星期四

vim中如何進行[行]的複製與貼上

複製單行 :
1.)將游標移至欲複製的該行
2.)鍵入yy
貼上單行 :
1.)將游標移至欲貼上的位置
2.)鍵入Shift+p(即大P的意思)

複製多行 :
1.)將游標移至欲複製的該行
2.)鍵入欲複製的行數
2.)再鍵入yy

貼上多行 :
1.)將游標移至欲貼上的位置
2.)鍵入Shift+p(即大P的意思)

如何在vim顯示程式話法關鍵字

:syntax on

vim的視窗切割

水平切割

Case1

: sp

: split

結果: 得兩個frame都是同一個檔案

Case2

:sp hello

結果: 水平分割, 新的frame開啟hello


垂直分割:

Case1

Ctrl+w v

結果: 兩個frame都是同一個檔案