顯示具有 vim 標籤的文章。 顯示所有文章
顯示具有 vim 標籤的文章。 顯示所有文章

2009年5月15日 星期五

.vimrc file setting


簡單地設定 ~/.vimrc

if ($TERM == "vt100" || $TERM == "rxvt-unicode" ) " xterm-color / screen set t_Co=8 set t_AF=^[[1;3%p1%dm set t_AB=^[[4%p1%dm endif 設定顏色,不然會變得比較難看 ##ReadMore##

幾個基本的

" 語法高亮 syntax on " 在游標所在行畫線, 方便找並可以看出折行 set cursorline " 縮排寬度, 和 tab 寬度不一樣 " shiftwidth 是當它縮時一次縮幾個空白 " tabstop 是當它發現有幾個空白時會換成一個 tab " 或是說一個 tab 的寬度 set shiftwidth=4 set tabstop=4 " 自動縮排 set ai " C 語法縮排 set cindent " 不和舊式語法相容(相容會仿舊 vi 的 bug...) set nocompatible " Ctrl + N 自動補完會列出待選清單 set showmatch " 指令打會列出待選列表 set wildmenu " 指定備份資料夾, 放在第一個有權限的 set backupdir=~/tmp,. " 放暫存檔的 set directory=~/tmp,. " 要備份 set backup " 自動補完 C++ set path+=/usr/include/c++/4.4.0 " 系統編碼 set encoding=utf-8 " 開檔編碼, 從頭開始猜 set fileencodings=ucs-bom,utf-8,sjis,big5,latin1

Vim 分頁編檔用的

map <C-c> :tabnew<CR> imap <C-c> <ESC>:tabnew<CR> map <C-k> :tabclose<CR> map <C-p> :tabprev<CR> imap <C-p> <ESC>:tabprev<CR> map <C-n> :tabnext<CR> " imap <C-n> <ESC>:tabnext<CR> map <F4> :set invcursorline<CR> Ctrl + C/K :create/kill tab
Ctrl + N/P :next/prev tab
map 和 imap 的不同在於指令在指令模式或插入模式有效
imap Ctrl+N 註解掉是因會和自動要補完衝突

還有一兩個臨時開開關關的

" 高亮搜尋結果 set hlsearch " 關掉高亮 set nohlsearch 其實這些指令也可以在執行 vim 後打,在指令模式下就是了
指令模式都要先有個冒號開頭,如 :set hlsearch

其他指令可以參考同類文章,善用 tag 找

2009年4月10日 星期五

vim hex editor with xxd


vim 開檔得亂碼,指令

:%!xxd binary 轉 hex,編完後 :%!xxd -r 又變亂碼,存檔,OK

2008年5月12日 星期一

vi/vim 速成教學(?)


基本上可以分為 command mode 和 insert mode
insert mode 就是我們一般的文書軟體的東西,上下左右打打字刪刪字這樣
command mode 則提供一堆快速操作
剛開 vi/vim (以下簡稱 vi ) 後是在 command mode 中,以下方式可以進入 insert mode

i:一般進入,開始打
a:從「游標所在處的下一個」進入
s:幹掉游標所在的一個字元進入
o:行末新增一行進入(並非從游標處換行)
離開insert mode 就 Esc
注意大小寫在這裡一直是有分的,從頭到尾都有分

存檔/編檔(command mode)

:q 離開
:q! 不存檔離開
:w [filename] 存為 [filename],不加的話預設存入你開的檔名
:x 存檔並離開

幾個簡單的指令(command mode):


d: 刪除(剪下)的基本型,視你後面按的東西而定

dd:刪一行
d↓: 刪自己及下面一行
d2↓: 刪自己及下面2行
d5↓: 當然是自己及下面5行
d→: 自己及右邊一個字元
d2→, d5→, d1000000→, d30↑, d↑: 自己參透吧

貼上(y):

yy: 刪一行
y↓, y3↓.....
類似的還有貼上(p),基本上就是你的指標走到哪就做到哪,所以 d[End] 也有這個指令

復原、重做:

u:復原
Ctrl+r: 重做
這樣就完成基本篇瞭 =3=
接下來的是

lv1: 一些比較機車又好用的東西 for coding


%(按住shift再按5 in command mode):自動跳到配對括號,等下有用
Ctrl+N 自動完成,會列出文件中匹配的單字外也同時會自動找C/C++ code 裡的 header 關鍵字

z: 折程式碼
zf%: zip floder to %: 將你所跳的距離(%: 從括號到括號)做折行標記
zc: 將所在處依標記收起
zo: 打開
G: 跳到文章最尾
=: 整理程式碼縮行
=G: 從這裡到文件最末整理縮行
以上,就是個人在用的指令,其實非常之少,連一個標準 tutorial 的部份都不到 詳細教學可以在這裡:url找到
或是使用 gvim,從選單裡找到你要的指令同時可以看到這指令的文字輸入
而我則是這樣(全指令不到6%)就已經很順了,可以想像指令全通的人 coding 起來會是怎個恐怖光景,無怪乎被稱為 God of editors ,與 emac (God's editor.) 並列 Linux 二大神器。