Vim快捷鍵

VIM常用快捷鍵
一、移動光標
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/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操作
1、buffer狀態

  • (非活動的緩衝區)
    a (當前被激活緩衝區)
    h (隱藏的緩衝區)
    % (當前的緩衝區)

    (交換緩衝區)

    = (只讀緩衝區)

  • (已經更改的緩衝區)

十四、 VIM 操作目錄
1.打開目錄
vim .
vim a-path/

2.以下操作在操作目錄時生效
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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章