1. 通常指令模式
1.1 光標的移動方法
按鍵 |
說明 |
h 或向左方向鍵 |
光標向左移動一個字元 |
j 或向下方向鍵 |
光標向下移動一個字元 |
k 或向上方向鍵 |
光標向上移動一個字元 |
l 或向右方向鍵 |
光標向右移動一個字元 |
[ctrl]+[f] |
屏幕向下移動一頁,至關於[Page Down](經常使用) |
[ctrl]+[b] |
屏幕向上移動一頁,至關於[Page Up](經常使用) |
[ctrl]+[d] |
屏幕向下移動半頁 |
[ctrl]+[u] |
屏幕向上移動半頁 |
n+[Space] |
n 表示數字,按下數字後再按空格鍵,光標會向右移動到這一行的第 n 個字元。 |
+ |
光標移動到非空格行下一行 |
- |
光標移動到非空格行上一行 |
功能鍵[Home]或 0 |
光標移動到這一行的第一個字元處 |
功能鍵[End]或 $ |
光標移動到這一行的最後一個字元處 (經常使用) |
H |
光標移動到這個屏幕最上方那一行的第一個字元 |
M |
光標移動到這個屏幕中央那一行的第一個字元 |
L |
光標移動到這個屏幕最下方那一行的第一個字元 |
G |
光標移動到這個檔案的最後一行 (經常使用) |
nG |
n 爲數字。光標移動到這個檔案的第 n 行 |
gg |
光標移動到這個檔案的第一行 (經常使用) |
n+[Enter] |
n 爲數字。光標向下移動 n 行 (經常使用) |
1.2 查找與替換
按鍵 |
說明 |
/word |
在當前光標所在位置往下尋找關鍵字爲 word 的字符串 (經常使用) |
?word |
在當前光標所在位置往上尋找關鍵字爲 word 的字符串 |
n |
這裏的 n 是按鍵 n。表明重複前一個查找的操做 |
N |
這裏的 N 是按鍵 N。功能與 n 相反,表明反向執行前一個查找的操做 |
:n1,n2s/word1/word2/g |
n1 與 n2 都爲數字,表示行數。可在第 n1 行與第 n2 行之間尋找 word1 字符串,並替換爲 word2 (經常使用) |
:1,$s/word1/word2/g |
表示從第一行到最後一行,將 word1 字符串替換爲 word2 (經常使用) |
:1,$s/word1/word2/gc |
表示從第一行到最後一行,也是將 word1 字符串替換爲 word2,不一樣之處是在替換前顯示提示字元,由用戶確認是否最終替換 (經常使用) |
* 使用 /word 的同時,配合使用 n 或者 N是很是有幫助的.vim
1.3 刪除、複製以及粘貼
按鍵 |
說明 |
x |
向後刪除一個字元 (經常使用)至關於[del]鍵 |
X |
向前刪除一個字元 (經常使用) |
nx |
n 爲數字,表示連續向後刪除 n 個字元 |
dd |
刪除光標所在的那一行 (經常使用) |
ndd |
n 爲數字,刪除光標所在的那一行往下數 的 n 個行 (經常使用) |
d1G |
刪除光標所在的那行到第一行的全部數據 |
dG |
刪除光標所在的那行到最後一行的全部數據 |
d$ |
刪除光標所在處到該行的最後一個字元 |
d0 |
是數字 0,刪除光標所在處到該行的第一個字元 |
yy |
複製光標所在的那一行 (經常使用) |
nyy |
n 爲數字, 複製光標所在的那一行往下數 n 行 (經常使用) |
y1G |
複製光標所在行到第一行的全部數據 |
yG |
複製光標所在行到最後一行的全部數據 |
y0 |
複製光標所在的字元到該行行首的全部數據 |
y$ |
複製光標所在的字元到該行行尾的全部數據 |
p |
將已複製的數據粘貼在光標所在的那一行的下一行 (經常使用) |
P |
將已複製的數據粘貼在光標所在的那一行的上一行,原來光標所在的那一行會被推後一行 (經常使用) |
J |
將光標所在的行與下一行的數據合併爲一行 |
c |
重複刪除多個數據 [10cj] |
u |
撤銷前一個操做 (經常使用) |
[ctrl]+r |
重作上一個被撤銷的操做 (經常使用) |
. |
這是小數點,表示重複前一個操做 (經常使用) |
2 通常指令模式→編輯模式
按鍵 |
說明 |
i |
進入插入模式;從目前光標所在處插入 |
I |
進入插入模式;從目前光標所在行的第一個非空白字元處插入 (經常使用) |
a |
進入插入模式;從目前光標所在處的下一個字元開始插入 |
A |
進入插入模式;從目前光標所在行的最後一個字元開始插入 (經常使用) |
o |
是字母,表示進入插入模式;從目前光標所在行的下一行處插入新的一行 |
O |
是字母,表示進入插入模式;從目前光標所在行的上一行處插入新的一行 (經常使用) |
r |
進入取代模式;只會取代光標所在的那個字元一次 |
R |
進入取代模式;會一直取代光標所在的文字,直到按下 [Esc] 爲止 (經常使用) |
[Esc] |
從編輯模式返回到通常指令模式 (經常使用) |
* 在左下角處看到 INSERT 或 REPLACE 時,才表示已經進入編輯模式。spa
3 通常指令模式切換到指令列模式
按鍵 |
說明 |
:w |
將編輯的文件寫入硬盤 (經常使用) |
:w! |
若是文件爲只讀狀態,能夠強制寫入硬盤,是否寫入成功,與你所擁有的文件權限有關 |
:q |
離開 vi (經常使用) |
:q! |
即便文件未保存,仍強行離開 vi |
:wq |
文件寫入硬盤後(即保存)離開 vi (經常使用) |
:wq! |
文件強制寫入硬盤後(即保存)離開 vi |
ZZ |
大寫字母 Z,若是文件沒有修改,則直接離開;若是文件被修改,則保存後離開 |
:w [filename] |
將當前文件另存爲另外一個文件,這個新文件的保存路徑爲當前路徑 |
:r [filename] |
在當前文件中讀入另外一個文件的數據,插入到當前光標所在列的後面 |
:n1,n2 w [filename] |
將第 n1 行到第 n2 行的數據儲存爲新的文件 |
:! command |
暫時離開 vi 到指令列模式下執行 command 的顯示結果 |
4 vim 特有功能
4.1 區域選擇
按鍵 |
說明 |
v |
字符選擇,移動光標,光標通過的地方會反白選擇 |
V |
行選擇,移動光標,光標通過的行會反白選擇 |
[Ctrl]+v |
區塊選擇,移動光標以長方形方塊的方式反白選擇 |
y |
複製反白選擇的地方 |
d |
刪除反白選擇的地方 |
p |
將以前複製的區塊,粘貼在光標所在處 |
4.2 多文件編輯
按鍵 |
說明 |
:n |
編輯下一個文件 |
:N |
編輯上一個文件 |
:files |
列出 vim 所打開的全部文件 |
使用 vim a.txt b.txt … 指令,就能一次打開多個文件字符串
4.3 多視窗
按鍵 |
說明 |
:sp [filename] |
開啓一個新視窗。若是有加 filename,表示是在新視窗開啓一個新文件;不然,表示兩個視窗爲同一個文件的內容(即同步顯示) |
[ctrl]+w+向下方向鍵 |
先按下[ctrl]不放,而後再按下 w 後放開全部按鍵,最後再按下向下方向鍵,光標就會移動到下方的視窗 |
[ctrl]+w+向上方向鍵 |
按鍵方法同上,光標會移動到上方的視窗 |
[ctrl]+w+q |
關閉當前光標所在的視窗 |
4.4 補齊
按鍵 |
說明 |
[ctrl]+x -> [ctrl]+n |
依據目前正在編輯的文件內容做爲關鍵字,予以補齊(語法依據副檔名) |
[ctrl]+x -> [ctrl]+f |
依據當前目錄下的文件名,予以補齊 |
[ctrl]+x -> [ctrl]+o |
以副檔名做爲語法關鍵字,予以補齊 |
4.5 環境設定參數
按鍵 |
說明 |
:set nu |
設定行號 |
:set nonu |
取消行號 |
:set hlsearch |
搜索到的關鍵字反白顯示 (默認) |
:set nohlsearch |
搜索到的關鍵字取消反白顯示 |
:set autoindent |
自動縮排 (默認) |
:set noautoindent |
不自動縮排 |
:set backup |
自動存儲備份檔(備份檔名爲 filename~) |
:set ruler |
顯示右下角狀態說明 |
:set showmode |
顯示左下角狀態說明(好比 INSERT) |
:set backspace=(012) |
倒退鍵設置;2:能夠刪除任意值;0 或者 1,僅可刪除剛剛輸入的字符,沒法刪除原來就存在的字符 |
:set all |
顯示全部環境參數設定值 |
:set |
顯示與系統默認值不一樣的設定值 |
:syntax on |
開啓語法着色 |
:syntax off |
關閉語法着色 |
:set bg=dark |
開啓語法着色深色方案 |
:set bg=light |
開啓語法着色淺色方案 (默認) |