vim使用指南及vim快捷鍵
阿新 • • 發佈:2018-12-03
文章目錄
移動游標
h, j, k, l 上,下,左,右 ctrl-e 移動頁面 ctrl-f 上翻一頁 ctrl-b 下翻一頁 ctrl-u 上翻半頁 ctrl-d 下翻半頁 w 跳到下一個字首,按標點或單詞分割 W 跳到下一個字首,長跳,如end-of-line被認為是一個字 e 跳到下一個字尾 E 跳到下一個字尾,長跳 b 跳到上一個字 B 跳到上一個字,長跳 0 跳至行首,不管有無縮排,就是跳到第0個字元 ^ 跳至行首的第一個字元 $ 跳至行尾 gg 跳至文首 G 調至文尾 5gg/5G 調至第5行 gd 跳至當前游標所在的變數的宣告處 fx 在當前行中找x字元,找到了就跳轉至 ; 重複上一個f命令,而不用重複的輸入fx * 查詢游標所在處的單詞,向下查詢 # 查詢游標所在處的單詞,向上查詢
刪除複製
dd 刪除游標所在行
dw 刪除一個字(word)
d/D刪除到行末x刪除當前字元X刪除前一個字元yy複製一行yw複製一個字y/Y 複製到行末
p 貼上貼上板的內容到當前行的下面
P 貼上貼上板的內容到當前行的上面
插入模式
i 從當前游標處進入插入模式
I 進入插入模式,並置游標於行首
a 追加模式,置游標於當前游標之後
A 追加模式,置游標於行末
o 在當前行之下新加一行,並進入插入模式
O 在當前行之上新加一行,並進入插入模式
Esc 退出插入模式
編輯
J 將下一行和當前行連線為一行 cc 刪除當前行並進入編輯模式 cw 刪除當前字,並進入編輯模式 c$ 擦除從當前位置至行末的內容,並進入編輯模式 s 刪除當前字元並進入編輯模式 S 刪除游標所在行並進入編輯模式 xp 交換當前字元和下一個字元 u 撤銷 ctrl+r 重做 ~ 切換大小寫,當前字元 >> 將當前行右移一個單位 << 將當前行左移一個單位(一個tab符) == 自動縮排當前行
查詢
/pattern 向後搜尋字串pattern
?pattern 向前搜尋字串pattern
"\c" 忽略大小寫
"\C" 大小寫敏感
n 下一個匹配(如果是/搜尋,則是向下的下一個,?搜尋則是向上的下一個)
N 上一個匹配(同上)
替換
:%s/old/new/g 搜尋整個檔案,將所有的old替換為new
:%s/old/new/gc 搜尋整個檔案,將所有的old替換為new,每次都要你確認是否替換
退出編輯器
:w 將緩衝區寫入檔案,即儲存修改
:wq 儲存修改並退出
:x 儲存修改並退出
:q 退出,如果對緩衝區進行過修改,則會提示
:q! 強制退出,放棄修改
多檔案編輯
vim file1.. 同時開啟多個檔案
:args 顯示當前編輯檔案
:next 切換到下個檔案
:prev 切換到前個檔案
:next! 不儲存當前編輯檔案並切換到下個檔案
:prev! 不儲存當前編輯檔案並切換到上個檔案
:wnext 儲存當前編輯檔案並切換到下個檔案
:wprev 儲存當前編輯檔案並切換到上個檔案
:first 定位首檔案
:last 定位尾檔案
ctrl+^ 快速在最近開啟的兩個檔案間切換
:split[sp] 把當前檔案水平分割
:split file 把當前視窗水平分割, file
:vsplit[vsp] file 把當前視窗垂直分割, file
:new file 同split file
:close 關閉當前視窗
:only 只顯示當前視窗, 關閉所有其他的視窗
:all 開啟所有的視窗
:vertical all 開啟所有的視窗, 垂直開啟
:qall 對所有視窗執行:q操作
:qall! 對所有視窗執行:q!操作
:wall 對所有視窗執行:w操作
:wqall 對所有視窗執行:wq操作
ctrl-w h 跳轉到左邊的視窗
ctrl-w j 跳轉到下面的視窗
ctrl-w k 跳轉到上面的視窗
ctrl-w l 跳轉到右邊的視窗
ctrl-w t 跳轉到最頂上的視窗
ctrl-w b 跳轉到最底下的視窗
多標籤編輯
:tabedit file 在新標籤中開啟檔案file
:tab split file 在新標籤中開啟檔案file
:tabp 切換到前一個標籤
:tabn 切換到後一個標籤
:tabc 關閉當前標籤
:tabo 關閉其他標籤
gt 到下一個tab
gT 到上一個tab
0gt 跳到第一個tab
5gt 跳到第五個tab
執行shell命令
1、在命令模式下輸入":sh",可以執行相當於在字元模式下,到輸入結束想回到VIM編輯器中用exit,ctrl+D返回VIM編輯器
2、可以"!command",執行結束後自動回到VIM編輯器中
3、用“Ctrl+Z“回到shell,用fg返回編輯
4、:!make -> 直接在當前目錄下執行make指令
VIM啟動項
-o[n] 以水平分屏的方式開啟多個檔案
-O[n] 以垂直分屏的方式開啟多個檔案
自動排版
在貼上了一些程式碼之後,vim變得比較亂,只要執行gg=G就能搞定
如何在vim中編譯程式
在vim中可以完成make,而且可以將編譯的結果也顯示在vim裡,先執行 :copen 命令,將結果輸出的視窗開啟,然後執行 :make
編譯後的結果就顯示在了copen開啟的小窗口裡了,而且用滑鼠雙擊錯誤資訊,就會跳轉到發生錯誤的行。
buffer操作
buffer狀態
- (非活動的緩衝區)
a (當前被啟用緩衝區)
h (隱藏的緩衝區)
% (當前的緩衝區)
# (交換緩衝區)
= (只讀緩衝區)
+ (已經更改的緩衝區)
VIM 操作目錄
開啟目錄
vim .
vim a-path/
以下操作在操作目錄時生效
p,P,t,u,U,x,v,o,r,s
c 使當前開啟的目錄成為當前目錄
d 建立目錄
% 建立檔案
D 刪除檔案/目錄
- 轉到上層目錄
gb 轉到上一個 bookmarked directory
i 改變目錄檔案列表方式
^l 重新整理當前開啟的目錄
mf - 標記檔案
mu - unmark all marked files
mz - Compress/decompress marked files
gh 顯示/不顯示隱藏檔案( dot-files)
^h 編輯隱藏檔案列表
a 轉換顯示模式, all - hide - unhide
qf diplay infomation about file
qb list the bookmarked directories and directory traversal history
gi Display information on file
mb
mc
md - 將標記的檔案(mf標記檔案)使用 diff 模式
me - 編輯標記的檔案,只顯示一個,其餘放入 buffer 中
mh
mm - move marked files to marked-file target directory
mc - copy
mp
mr
mt
vim 中複製,移動檔案
1, mt - 移動到的目錄
2, mf - 標記要移動的檔案
3, mc - 移動/複製
R 移動檔案
開啟當前編輯檔案的目錄
:Explore
:Hexplore
:Nexplore
:Pexplore
:Sexplore
:Texplore
:Vexplore