天天看點

GVIM常用指令(持續更新中) 

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 反轉指定範圍的文本行

反轉步驟:

  1. 光标移動到第一行(目标行的上一行)
  2. 輸入指令 

    mt

    ,将第一行标記為 t
  3. 光标移動到第n行
  4. 輸入指令 

    :'t+1,.g/^/m 't