先前曾經記載了如何使用vim來檢視hex檔,當時因為苦於編修完無法存檔,前幾日剛好看到同事正在使用,特別請教一下,並記錄於此,方法如下:
欲看hex mode的指令:
:%!xxd
欲在hex mode編輯文件,方法同一般文件:
按'i'鍵,讓vim進入insert mode,即可編輯。
欲儲存編修過的hex內容:
必須先讓文件離開hex mode:
:%!xxd -r
然後再儲存:
:wq or :w!
大家可以試試看!
2009年10月16日 星期五
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
" 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
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」結束區塊編輯模式。
1. )在vim的一般模式下,按「Ctrl + v」,此時會進入區塊選取模式。
2. )利用游標的方向鍵,選取適當的區塊。
3. )按「Shift + i」,進入插入模式。
4. )進行所需的修改。
5. )修改完後,按「ESC」結束區塊編輯模式。
2008年7月11日 星期五
2008年5月30日 星期五
在vim中常用的跳躍
在vim中的跳躍,對一個程式開發者來說甚為方便,舉例來說:
當您在build code時若發生錯誤,此時您使用vim開啟source file後,使用下列的指令,即可立即跳至該行:
<行號> G
當您須要開啟一個Log File時,若此Log File很大(也許數百MB),使用一般的文字編輯器需要花一段時間才能開啟檔案,且在檔案下拉時,還會停頓;此時,若改以vim來開啟,速度快很多,且可以使用下列指令,立刻至檔尾查看bug發生的原因:
G
當您有需要跳至檔首察看某些宣告時,亦可使用下列指令:
gg
當您在build code時若發生錯誤,此時您使用vim開啟source file後,使用下列的指令,即可立即跳至該行:
<行號> G
當您須要開啟一個Log File時,若此Log File很大(也許數百MB),使用一般的文字編輯器需要花一段時間才能開啟檔案,且在檔案下拉時,還會停頓;此時,若改以vim來開啟,速度快很多,且可以使用下列指令,立刻至檔尾查看bug發生的原因:
G
當您有需要跳至檔首察看某些宣告時,亦可使用下列指令:
gg
2008年5月29日 星期四
vim中如何進行[行]的複製與貼上
複製單行 :
1.)將游標移至欲複製的該行
2.)鍵入yy
貼上單行 :
1.)將游標移至欲貼上的位置
2.)鍵入Shift+p(即大P的意思)
複製多行 :
1.)將游標移至欲複製的該行
2.)鍵入欲複製的行數
2.)再鍵入yy
貼上多行 :
1.)將游標移至欲貼上的位置
2.)鍵入Shift+p(即大P的意思)
1.)將游標移至欲複製的該行
2.)鍵入yy
貼上單行 :
1.)將游標移至欲貼上的位置
2.)鍵入Shift+p(即大P的意思)
複製多行 :
1.)將游標移至欲複製的該行
2.)鍵入欲複製的行數
2.)再鍵入yy
貼上多行 :
1.)將游標移至欲貼上的位置
2.)鍵入Shift+p(即大P的意思)
訂閱:
文章 (Atom)