1 win7 如何把VIM 添加到右鍵
+在運作裡面輸入 redegit ,回車,這是打開windows的系統資料庫。 +依次打開HKEY_CLASSES_ROOT/*/shell,有點點選shell,建立項,輸入項的名字,這是要在右鍵裡顯示的,建議輸入Edit with Gvim. +右鍵點選剛建的 Edit With Gvim 項,再建立項,名字為 command , 修改其值為 D:\Program Files\Vim\vim72\gvim.exe "%1"
2 非常有用的指令
2.1 代碼自動排版:
gg=G
2.2 視窗相關:
Ctrl-W o | 最大化視窗 |
CTRL-W j | 跳轉到下方視窗 |
CTRL-W k | 跳轉到上方視窗 |
CTRL-W CTRL-W | 移動光标至下方視窗 (折轉) (Wrap) |
CTRL-W W | 移動光标至上方視窗 (折轉) (wrap) |
CTRL-W t | 跳轉到頂端視窗 (top) |
CTRL-W b | 跳轉到底端視窗 (bottom) |
CTRL-W p | 跳轉到上一次激活的視窗 (previous) |
CTRL-W r | 向下旋轉視窗 (rotate) |
CTRL-W R | 向上旋轉視窗 (Rotate) |
CTRL-W x | 将目前視窗與下一個視窗對調 (eXchange) |
CTRL-W = | 使所有視窗等高 |
CTRL-W - | 減少目前視窗高度 |
CTRL-W + | 增加目前視窗高度 |
CTRL-W _ | 設定目前視窗高度 (預設: 很高) |
2.3 關于撤銷樹:
u 撤銷上一次操作
Ctrl+r 恢複上一次操作
Ctrl+y 恢複上一次操作
2.4 輸入不了中文怎麼辦
要把vi的encoding設定成同系統的編碼一樣的,通常将其設定成utf8 ,
set encoding=utf8
2.5 忽略大小寫查找
vim的查找功能是在指令行下輸入 :/待查的字元串,預設vim的查找是區分大小寫的, 其實大多數情況下都是想進行忽略大小寫的查找, 可以使用如下指令: 這樣vim在查找時就會忽略大小寫了, 可以将其加入.vimrc ,就不用每次都輸入了。
set ignorecase 或者是 :set ic
我現在更喜歡的是smartcase, 它會自動判斷你所想要的是大寫還是小寫
set smartcase
2.6 在函數間跳轉
] ], 跳到下一個函數
[ [, 路到上一個函數
2.7 其它一些删除操作
'cib' change inside parenthesis
'cw' change a word
'ci(' change inside ()
'ci{' change inside {}
'cab' change around parenthesis
'dab' delete around parenthesis
d<number>d would delete <number> lines
2.9 替換目前光标下的單詞
在vimrc中加入以下command:
" Quickly replace current word
nmap <A-s> :%s/\<<C-r><C-w>\>//g<Left><Left>
當按下Alt-S時,會自動出現:%s/current word under cursor//g
2.10 關閉Diff 模式
: diffoff
2.11 NERDTree通路其它盤符
: NERDTree c:\ : NERDTree d:\Test
2.12 代碼間跳轉
Ctrl + o: 跳轉到上一次改動 Ctrl + i: 跳轉到下一次改動
2.13 保留帶關鍵字的行
:v/keyword/d
2.14 删除帶關鍵字的行
:g/keyword/d
2.15 關閉其它分屏視窗
:only
2.16 打開/關閉Quick Fix視窗
:copen/cclose
2.17 顯示所有buffer的編号
:ls
2.18 批量替換所有.c和.h檔案中的關鍵字(包含子目錄)
:args ./**/*.c ./**/*.h
:argdo %s/STR1/STR2/ge | update
以上兩行指令可以将目前目錄及子目錄中的所有.c和.h檔案中的STR1替換成STR2.
2.19 防止滑鼠提示讓Vim崩潰
set balloondelay=1000000
setlocal balloonexpr=
2.20 反轉指定範圍的文本行
反轉步驟:
- 光标移動到第一行(目标行的上一行)
- 輸入指令
,将第一行标記為 tmt
- 光标移動到第n行
- 輸入指令
:'t+1,.g/^/m 't