VIM 命令
以:和/開頭的命令都有歷史紀錄,能夠首先鍵入:或/而後按上下箭頭來選擇某個歷史命令。
基本上能夠分爲3種模式,分別是
命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),下圖所示爲Vim各類模式相互轉換的關係圖。
命令模式:控制屏幕光標的移動,進行文本的刪除、複製等文字編輯工做,以及進入插入模式,或者回到底行模式。
插入模式:只有在插入模式下,才能夠輸入文字。按[Esc]鍵可回到命令行模式。
底行模式:保存文件或退出Vim,同時也能夠設置編輯環境和一些編譯工做,如列出行號、尋找字符串等。
打開與退出
vi啓動是:vi filename
該命名打開或者建立一個文件。首先進入vi後,是
cmd模式(命令模式)。在該模式下能夠移動光標,複製,移動,刪除等。
vim -O file1 file2: 同時打開兩個文件, ctrl+w 進行窗口切換
ZZ: 保存文件並退出。
Note: 與其餘編輯器不同,Vim 不會自動創建一個備份文件。若是你輸入 "ZZ", 你的修改當即生效而且不能恢復。你能夠配置 Vim 讓它產生一個備份文件。
:w 保存
wq: 保存並退出
:q: 退出
:q!: 放棄修改。按回車使命令生效。
在cmd下能夠用下面幾個命令進入編輯模式:
i 在當前位置生前插入
I 在當前行首插入
a 在當前位置後插入
A 在當前行尾插入
o 在當前行以後插入一行
O 在當前行以前插入一行
編輯模式下,只能輸入,不能使用hjkl的光標移動,使用esc能夠切換到cmd模式
光標控制:命令模式
光標在屏幕文本中的移動既能夠用箭頭鍵,也可使用 hjkl 字母鍵。
h (左移) j (下行) k (上行) l (右移)
以上四個命令能夠配合數字使用,好比20j就是向下移動20行,5h就是向左移動5個字符。
gg命令: 跳到文件的首行
G命令: 跳到文件的最後一行
0(數字0) 移動到本行第一個字符上
^命令: 跳轉到行首第一個普通字符上
$命令: 跳轉到行尾, 3$ 移動到下面3行的行尾
b(begin)命令: 跳轉到當前單詞的前面, 2b 向後移動2個單詞
e(end)命令: 跳轉到當前單詞的後面
w 命令: 向前移動一個單詞(光標停在單詞首部),若是已到行尾,則轉至下一行行首。此命令快,能夠代替l命令。
冒號+行號: 跳到指定行。好比跳到240行就是 :240回車。另外一個方法是行號+G,好比230G跳到230行。
number%命令: 跳轉到number%處, 例如跳轉到20%, 鍵入20%便可
Ctrl + e 向下滾動一行
Ctrl + y 向上滾動一行
Ctrl + d 向下滾動半屏
Ctrl + u 向上滾動半屏
Ctrl + f 向下滾動一屏
Ctrl + b 向上滾動一屏
刪除命令:命令模式
在
命令模式下,Vim提供了許多刪除命令。這些命令大可能是以d開頭的。
x命令: 刪除光標處的字符。若在x以前加上一個數字n,則刪除從光標所在位置開始向右的n個字符。
X命令:刪除光標前面的那個字符。若在X以前加上一個數字n,則刪除從光標前面那個字符開始向左的n個字符
dd命令:剪切(刪除)光標所在的整行。在dd前可加上一個數字n,表示刪除當前行及其後n-1行的內容。
D或d$命令:刪除從光標所在處開始到行尾的內容。
d0命令:刪除從光標前一個字符開始到行首的內容。
dw命令:刪除一個單詞。若光標處在詞的中間,則從光標所在位置開始刪至詞尾。同dd命令同樣,可在dw以前加一個數字n,表示刪除n個指定的單詞。
複製命令:命令模式
y^/y0: 複製至行首, 不含光標所在處字符
y$: 複製至行尾。含光標所在處字符
yw: 複製一個 word
yG: 複製至檔尾
y1G: 複製至檔首
dd命令: 剪切當前行。
yy命令(或大寫一個 Y): 拷貝當前行。2yy 表示複製兩行。
cc命令: 剪切當前行而且進入插入模式。
D命令: 剪切從光標位置到行尾到剪貼板。
Y命令: 拷貝當前行。
C命令: 和 D 相似,最後進入插入模式。
x命令: 剪切當前字符到剪貼板。
s命令: 剪切當前字符到剪貼板,最後進入插入模式。
粘貼命令:命令模式
小寫 p 表明貼至光標後(下)。 P 大寫 P 表明貼至光標前(上)
撤銷和重作
u 撤銷(Undo)
U 撤銷對整行的操做
Ctrl + r 重作(Redo),即撤銷的撤銷。
查找命令
/text 查找text,按n健查找下一個,按N健查找前一個。
?text 查找text,反向查找,按n健查找下一個,按N健查找前一個。
vim中有一些特殊字符在查找時須要轉義 .*[]^%/?~$
查找很長的詞,若是一個詞很長,鍵入麻煩,能夠將光標移動到該詞上,
按*或#鍵便可以該單詞進行搜索,至關於/搜索。而#命令至關於?搜索。
:set ignorecase 忽略大小寫的查找
:set noignorecase 不忽略大小寫的查找
:set hlsearch 高亮搜索結果,全部結果都高亮顯示,而不是隻顯示一個匹配。
:set nohlsearch 關閉高亮搜索顯示
:nohlsearch 關閉當前的高亮顯示,若是再次搜索或者按下n或N鍵,則會再次高亮。
:set incsearch 逐步搜索模式,對當前鍵入的字符進行搜索而沒必要等待鍵入完成。
:set wrapscan 從新搜索,在搜索到文件頭或尾時,返回繼續搜索,默認開啓。