vim是乙個超牛的編輯器,命令功能十分強大 。而且這些命令大都可以進行組合 ,比如,9yy命令表示複製9行內容,9表示要複製的行數,同樣100dd表示刪除100行,當數字和命令合作的時候,就比單純的命令更強大,同樣,c命令表示擦除,w表示word即單詞,那麼cw就表示擦除乙個單詞,c5w就表示刪除5個單詞等等。將這些簡單命令合成在一起,就可以發揮出難以想象的強大功能。
巨集命令(macros)
:qx開始記錄巨集,並將結果存入暫存器x
q退出記錄模式
@x稍微解釋一下,當在normal模式下輸入:qx後,你對文字的所有編輯動作將會被記錄下來,再次輸入q即退出了記錄模式,然後輸入@x對剛才記錄下來的命令進行重複,此命令後可跟數字,表示要重複多少次,比如@x20,可以重複20次。這個在文字的批處理中是非常有用的。
同時編輯多個檔案
在vim眾多的外掛程式中,有乙個叫minibuffer的外掛程式,就是下面所說的標籤頁功能了,可以支援同時編輯多個檔案。
標籤命令
:tabe fn
在乙個新的標籤頁中編輯檔案fn
gt切換到下乙個標籤頁
gt切換到上乙個標籤頁
:tabr
切換到第乙個標籤頁
:tabl
切換到最後乙個標籤頁
:tabm [n]
把當前tab移動到第n個tab之後
對,正如你所想象的那樣,跟eclipse, ue等的標籤頁是乙個意思!
視窗命令
ctrl+w s
水平分割視窗
ctrl+w w
切換視窗
ctrl+w q
退出當前視窗(由於同時有多個檔案,此命令不會影響其他視窗)
ctrl+w v
垂直分割視窗
其他
vim在儲存之前不會對檔案做實際的修改,只是載入到緩衝區中,對檔案的編輯其實是對緩衝區的編輯,直到:w時才會存入物理檔案。
:e file
把file載入到新的緩衝區中
:bn跳轉到下乙個緩衝區
:bd刪除緩衝區(關閉檔案)
:sp fn
分割視窗,並將fn載入到新的視窗中
退出編輯器
:w將緩衝區寫入檔案,即儲存修改
:wq儲存修改並退出
:x儲存修改並退出
:q退出,如果對緩衝區進行過修改,則會提示
:q!強制退出,放棄修改
查詢替換
/pattern
向後搜尋字串pattern
?pattern
向前搜尋字串pattern
n下乙個匹配(如果是/搜尋,則是向下的下乙個,?搜尋則是向上的下乙個)
n上乙個匹配(同上)
:%s/old/new/g
搜尋整個檔案,將所有的old替換為new
:%s/old/new/gc
搜尋整個檔案,將所有的old替換為new,每次都要你確認是否替換
複製貼上
dd刪除游標所在行
dw刪除乙個字(word)
x刪除當前字元
x刪除前乙個字元
d刪除到行末
yy複製一行,此命令前可跟數字,標識複製多行,如6yy,表示從當前行開始複製6行
yw複製乙個字
y$複製到行末
p貼上貼上板的內容到當前行的下面
p貼上貼上板的內容到當前行的上面
]p有縮排的貼上,vim會自動調節**的縮排
"a將內容放入/存入a暫存器,可以支援多貼上板
附:比如常用的乙個暫存器就是系統暫存器,名稱為+,所以從系統貼上板貼上到vim中的命令為"+p,注意此處的+不表示操作符,二十乙個暫存器。
移動游標
在vim中移動游標跟其他的編輯器中有很大的區別,不過一旦學會了,就會飛速 的在文字中移動了。
h,j,k,l
上,下,左,右
ctrl-f
上翻一頁
ctrl-b
下翻一頁
%跳到與當前括號匹配的括號處,如當前在處
w跳到下乙個字首,按標點或單詞分割
w跳到下乙個字首,長跳,如end-of-line被認為是乙個字
e跳到下乙個字尾
e跳到下乙個字尾,長跳
b跳到上乙個字
b跳到上乙個字,長跳
0跳至行首,不管有無縮排,就是跳到第0個字元
^跳至行首的第乙個字元
$跳至行尾
gg跳至檔案的第一行
gd跳至當前游標所在的變數的宣告處
[n]g
跳到第n行,如0g,就等價於gg,100g就是第100行
fx在當前行中找x字元,找到了就跳轉至
;重複上乙個f命令,而不用重複的輸入fx
tx與fx類似,但是只是跳轉到x的前乙個字元處
fx跟fx的方向相反
),(跳轉到上/下乙個語句
*查詢游標所在處的單詞,向下查詢 在此組合n鍵,可以在各個找找內容之間切換
#查詢游標所在處的單詞,向上查詢
`.跳轉至上次編輯位置
」ctrl + }「 可以跳轉到函式或變數的定義處,「ctrl + o」可以返回上乙個跳轉頁面。
在螢幕上移動
h移動游標到當前螢幕上最上邊的一行
m移動游標到當前螢幕上中間的一行
l移動游標到當前螢幕上最下邊的一行
書籤
ma把當前位置存成標籤a
`a跳轉到標籤a處
編輯
r替換乙個字元
j將下一行和當前行連線為一行
cc刪除當前行並進入編輯模式
cw刪除當前字,並進入編輯模式
c$擦除從當前位置至行末的內容,並進入編輯模式
s刪除當前字元並進入編輯模式
s刪除游標所在行並進入編輯模式
xp交換當前字元和下乙個字元u撤銷
ctrl+r重做.
~切換大小寫,當前字元
g~iw
切換當前字的大小寫
guiw
將當前字變成大寫
guiw
將當前字變成小寫
>>
將當前行右移乙個單位
<<
將當前行左移乙個單位(乙個tab符)
==自動縮排當前行
插入模式
i從當前游標處進入插入模式
i進入插入模式,並置游標於行首
a追加模式,置游標於當前游標之後
a追加模式,置游標於行末
o在當前行之下新加一行,並進入插入模式
o在當前行之上新加一行,並進入插入模式
esc退出插入模式
可視模式
標記文字
v進入可視模式,單字元模式
v進入可視模式,行模式
ctrl+v
進入可視模式,列模式 ,類似於ue的列模式
o跳轉游標到選中塊的另乙個端點
u將選中塊中的內容轉成大寫
o跳轉游標到塊的另乙個端點
aw選中乙個字
ab選中括號中的所有內容,包括括號本身
ab選中{}括號中的所有內容
ib選中括號中的內容,不含括號
ib選中{}中的內容,不含{}
對標記進行動作
>
塊右移<
塊左移y
複製塊d
刪除塊~
切換塊中內容的大小寫
鍵盤圖:
vim中常用的替換模式總結
1,簡單替換表示式
替換命令可以在全文中用乙個單詞替換另乙個單詞:
:%s/four/4/g
\ 0,1,2,3 或 4
\ 3,4,5,等等
\ 0 或 1,同 \=
\ 0 或 更多,同 *
\ 1 或 更多,同 \+
\ 35,多選一匹配
在乙個查詢模式中,」或」 運算子是 「\|」。例如:
/foo\|bar
這個命令匹配了 「foo」 或 「bar」。更多的抉擇可以連在後面:
/one\|two\|three
匹配 「one」,」two」 或 「three」。
如要匹配其多次重複,那麼整個抉擇結構須置於 「\(」 和 「\)」 之間:
/\(foo\|bar\)\+
這個命令匹配 「foo」,」foobar」,」foofoo」,」barfoobar」,等等。
再舉個例子:
/end\(if\|while\|for\)
這個命令匹配 「endif」,」endwhile」 和 「endfor」。
centos下 Vim常用快捷鍵操作命令大全
vim命令的安裝方法 同樣vim也有兩種安裝方法 一 yum安裝,centos下安裝軟體最簡單的方法了,還能解決依賴問題,首推該方法,缺點是源裡面有一些軟體並不是其官網上最新的 sudo yum install y vim 二 原始碼編譯安裝,今天重點介紹這種方法,不過也挺簡單的 git clone...
Vim快捷鍵操作
1 左移h 右移l 下移j 上移k 2 向下翻頁ctrl f,向上翻頁ctrl b 3 向下翻半頁ctrl d,向上翻半頁ctrl u 4 移動到行尾 移動到行首0 數字 移動到行首第乙個字元處 5 移動游標到下乙個句子 移動游標到上乙個句子 6 移動到段首 7 移動到下乙個詞w,移動到上乙個詞b ...
Vim 命令 操作 快捷鍵
以 和 開頭的命令都有歷史紀錄,可以首先鍵入 或 然後按上下箭頭來選擇某個歷史命令。同時開啟多個檔案 在vim視窗中開啟乙個新檔案 在新視窗中開啟檔案 切換到下乙個檔案 切換到上乙個檔案 檢視當前開啟的檔案列表,當前正在編輯的檔案會用括起來。開啟遠端檔案,比如ftp或者share folder 括號...