1.文件命令
快捷鍵 |
功能 |
vim file |
打開單個文件 |
vim file1 file2 file3 … |
同時打開多個文件 |
:e file |
在vim窗口中打開一個新文件 |
:split file |
在新窗口中打開文件 |
:bn |
切換到下一個文件 |
:bp |
切換到上一個文件 |
:args |
查看當前打開的文件列表,當前正在編輯的文件會用[]括起來 |
打開遠程文件,比如ftp或者share folder |
|
打開遠程文件 |
2.多窗口情況下的按鍵
快捷鍵 |
操作說明 |
:sp [filename] |
開啟一個新窗口,如果有加 filename, 表示在新窗口開啟一個新文件,否則表示兩個窗口為同一個文件內容(同步顯示)。 |
[ctrl]+w+ j [ctrl]+w+↓ |
按鍵的按法是:先按下 [ctrl] 不放, 再按下 w 后放開所有的按鍵,然后再按下 j (或向下箭頭鍵),則光標可移動到下方的窗口。 |
[ctrl]+w+ k [ctrl]+w+↑ |
同上,不過光標移動到上面的窗口。
|
[ctrl]+w+ q |
其實就是 :q 結束離開啦! 舉例來說,如果我想要結束下方的窗口,那么利用 [ctrl]+w+↓ 移動到下方窗口后,按下 :q 即可離開, 也可以按下 [ctrl]+w+q 啊! |
3.插入命令
快捷鍵 |
功能 |
i |
在當前位置前插入 |
I |
在當前行首插入 |
a |
在當前位置后插入 |
A |
在當前行尾插入 |
o |
在當前行之后插入一行 |
O |
在當前行之前插入一行 |
4.移動命令
快捷鍵 |
功能 |
Ctrl+b |
向上翻頁 = Pgup |
Ctrl+f |
向下翻頁 = PgDn |
Ctrl+d |
向下移動半頁 |
Ctrl+u |
向上移動半頁 |
G |
移動到頁末 |
gg |
移動到頁頭 |
nG |
40G 移動到第40行 |
ngg |
快速跳到文件的第N行 |
h |
左移一個字符 |
l |
右移一個字符(w快速) |
k |
上移一個字符 |
j |
下移一個字符 |
20j |
向下移動20行 |
0 | Home |
到行首 |
$ | End |
到行尾 |
: 2467 |
跳到2467行 |
5.復制,粘貼,刪除
快捷鍵 |
功能 |
x |
向后刪除一個字符 = Delete |
X |
向前刪除一個字符 = backspace |
dd |
直接刪除光標所在行 (剪切) |
D d$ |
刪除光標位置到本行結尾 |
d0 |
刪除光標位置到本行開頭 |
ndd |
刪除n行 |
yy |
復制光標所在行 |
nyy |
拷貝當前后開始的n行 |
p |
粘貼到光標所在的下行 |
:1,10d |
刪除或剪切1-10行 |
ctrl+v |
塊選擇 014b-vim塊操作 |
shift+v |
行選擇 |
6 撤銷和重做
快捷鍵 |
功能 |
u |
撤銷(Undo) |
U |
撤銷對整行的操作 |
Ctrl + r |
重做(Redo) |
7.末行模式
快捷鍵 |
功能 |
w |
保存 |
q |
退出 |
q! |
強制退出 |
wq |
保存退出 |
:wq |
強制保存退出 |
e! |
放棄所有修改,從上次保存文件開始再編輯 |
w [filename] |
將編輯的數據儲存成另一個文件(類似另存新檔) |
8.查找替換
?[n,m]s/<查找關鍵字>/<替換關鍵字>/[g]
快捷鍵 |
功能 |
:/<查找的關鍵字> |
查找替換(n下一個 N上一個) |
:s/this/that/ |
將本行第一個this替換成that |
:s/this/that/g |
將本行所有this替換成that |
:1,10s/this/that/g |
將1到10行所有的this替換成that |
:10,$s/this/that/g |
將10到最后行所有的this替換成that |
:.,.+10s/this/that/g |
將本行到本行后10行this替換成that |
:.,.-10s/this/that/g |
將本行到本行前10行this替換成that |
:%s/this/that/g |
將所有行this替換成that |
:10,20s/^/#/g |
在第10行知第20行每行前面加#,用於注釋 |
:3,5 s/^#//g |
解除3-5行的注釋 |
1,$ s/^/#/g |
注釋整個文檔 |
9.高級操作
快捷鍵 |
功能 |
:!<命令> |
臨時執行一條命令 |
:r <file> |
將文件讀入到本文檔 |
:1,20w <file> |
將1-20行另存為其他文件 |
:20,30w >> <file> |
將20-30行追加到其他文件中 |
10.vim設置
#vim /etc/vimrc
指令 |
功能 |
set nu |
顯示行號 |
set nonu |
不顯示行號 |
set nohlsearsh |
關閉高亮 |
set hlsearsh |
打開高亮 |
syntax off |
關閉色彩 |
syntax on |
打開色彩 |
set ic |
查找時忽略大小寫 |
set noic |
查找時對大小寫敏感 |
set list |
顯示不可見字符 |
11.讓vi有顏色
mv /usr/bin/vi /usr/bin/vi.bak
ln -s /usr/binvim /usr/bin/vi
12.vim導圖
13.vim塊操作
在windows word中用鼠標拖動,反白顯示,表示選中文本塊。在vim中也有此功能,可以對塊整體操作。
一、可視模式
按v啟用可視模式,之后移動光標可以選擇。
如:
如果想整行操作,則用大寫的V,再移動光標可以按行為單位進行選擇。
二、列塊操作
在 word中有一個功能,按alt加鼠標拖動,可以拖出矩形塊,在vim同樣具有此功能。
如:
方法是:
control+v,啟用塊可視模式,之后移動鼠標,可以選中某一個矩形塊,對於有規律的表格可以用這個功能。
目前當前光標所在的位置是右下角,可以在這個塊的四角進行移動光標,方法就是按o,O來切換四個頂點。
三、實例一
把上圖中source列,移到open前面
(1)control+v,選中source列
(2)d 剪切列
(3)在open的前面,按p粘貼。
結果如下:
四、實例二
在選定行的vim行前面加上// ,一般在語言中表示注釋
(1)control+v選定列(vim)
(2)按I插入//
(3)按esc
結果如下:
注意:在windows系統中 control+v被系統占用了,所以改為control+q完成相同的功能。