1 基本使用
基本移動(dòng)
h (left) j (down) k (up) l (right)
新建或者打開(kāi)文件vim 文件名字
不保存更改退出:q!
保存文件退出:wq
刪除光標(biāo)所在的單個(gè)字符x
進(jìn)入插入模式i 插入點(diǎn)進(jìn)行插入 a 追加插入
2 多次操作和undo
向下移動(dòng)到下一個(gè)單詞的第一個(gè)字符葱跋,單詞的意思是空格分割的英文字符串刃唤,不包括標(biāo)點(diǎn)w
向下移動(dòng)到下一個(gè)單詞的最后一個(gè)字符e
刪除一定的字符,后一位表示終止點(diǎn)缭嫡;d 起止標(biāo)志符
刪除光標(biāo)所在位置一直到下一個(gè)單詞dw
刪除光標(biāo)所在位置一直到本行末尾d$
刪除光標(biāo)所在的整行dd
命令重復(fù)執(zhí)行的此處,次數(shù)由數(shù)字表示铁孵,加載操作字符和位置字符的中間镜撩;操作字符表示要做什么,比如刪除操作舒裤;次數(shù)字符表示做的次數(shù)喳资;起止字符表示單位,比如單詞腾供,行尾等等操作字符+字?jǐn)?shù)字符+起止字符
向后移動(dòng)兩個(gè)單詞2w
光標(biāo)移動(dòng)到本行的行首0 或者 ^
光標(biāo)移動(dòng)到本行行尾巴$
undo和redo仆邓,撤回和重做操作鲜滩;對(duì)于每一次操作都可以使用撤回;維護(hù)一個(gè)操作棧結(jié)構(gòu)u 撤回剛剛的操作 U 撤回本行中所有的操作
CTRL-R 重做剛剛的撤回
3 替換更改和剪切粘貼
最近一次刪除的內(nèi)容粘貼到光標(biāo)后的位置p
更換光標(biāo)所在的字符為后面輸入的字符rw re ri r就是replace
刪除部分內(nèi)容并進(jìn)入插入模式進(jìn)行修改节值,change的縮寫(xiě)徙硅,中間可以插入次數(shù)字符來(lái)表示刪除的范圍c+起止字符 cw c2w ce c$ c^
4 檢索,括號(hào)匹配搞疗,替換字符串
大范圍移動(dòng)光標(biāo)和移動(dòng)到確定行
CTRL-g 在狀態(tài)行顯示文件名字闷游,行數(shù)和光標(biāo)所在行
G 光標(biāo)移動(dòng)到文件末尾
行數(shù) G 移動(dòng)到指定的行數(shù)
gg 移動(dòng)到文件的第一行
檢索字符串
/關(guān)鍵詞 向下搜索
?關(guān)鍵詞 向上搜索
n 檢索結(jié)果中的下一個(gè)匹配
N 檢索結(jié)果中的上一個(gè)匹配
光標(biāo)歷史位置移動(dòng)贴汪,維護(hù)一個(gè)光標(biāo)位置的歷史位置
CTRL-o 后退一個(gè)光標(biāo)歷史位置
CTRL-i 前進(jìn)一個(gè)光標(biāo)歷史位置
圓括號(hào)脐往,花括號(hào),方括號(hào)的匹配
% 光標(biāo)在兩個(gè)配對(duì)括號(hào)中之間移動(dòng)扳埂,在括號(hào)范圍內(nèi)业簿,跳轉(zhuǎn)到最近的括號(hào)
替換字符串,全局替換阳懂,指定行數(shù)范圍替換和確認(rèn)替換
:s/old/new 替換在本行出現(xiàn)的第一個(gè)old
:s/old/new/g 替換在本行出現(xiàn)的所有old
:#,#s/old/new/g 替換在兩個(gè)行數(shù)#之間出現(xiàn)的所有old
:%s/old/new/g 替換在文件中出現(xiàn)的所有old
:s/old/new/c 每一次替換之前都加上c梅尤,confirm,需要確認(rèn)
5 外部命令岩调,VISUAL模式巷燥,轉(zhuǎn)存
外部命令的執(zhí)行
:!SHELLCOMMAND 感嘆號(hào)后面的外部shell命令和在外面執(zhí)行是一樣的``:!ls
文件另存為:w FILENAME 把本文件的內(nèi)容轉(zhuǎn)存在另一個(gè)文件中
visual模式,選中可見(jiàn)的部分文件內(nèi)容v :w 文件轉(zhuǎn)存
retrieve号枕,拉取文件或者標(biāo)準(zhǔn)輸出的內(nèi)容插入光標(biāo)的下一行:r FILENAME 把另一個(gè)文件的內(nèi)容插入光標(biāo)的下一行``:r !SHELLCOMMAND 命令的輸出插入到光標(biāo)的下一行
6 選中拷貝粘貼缰揪,選項(xiàng)設(shè)定開(kāi)關(guān)
新開(kāi)一行并且進(jìn)入插入模式o 在光標(biāo)下開(kāi)一行``O 在光標(biāo)上一行新開(kāi)一行
光標(biāo)移動(dòng)到下一格,并進(jìn)入插入模式a
光標(biāo)移動(dòng)到行尾葱淳,并進(jìn)入插入模式A
拷貝在VISUAL模式下選中的內(nèi)容
y yank拷貝選中的內(nèi)容``p 將剛剛選中的內(nèi)容插入到光標(biāo)下一行
REPLACE模式
R 進(jìn)入替換模式钝腺,和插入模式相對(duì),鍵入的新內(nèi)容會(huì)替換后面的原有內(nèi)容
選項(xiàng)設(shè)定
:set OPTION
設(shè)定選項(xiàng)開(kāi)關(guān)
:set ic ignorecase
檢索結(jié)果忽略大小寫(xiě)
:set is incsearch
檢索中包括了部分匹配
:set hls hilightsearch
檢索結(jié)果加上高亮
關(guān)閉設(shè)定選項(xiàng)
:set noOPTION
前面加上no就是關(guān)閉對(duì)應(yīng)的選項(xiàng)
:set noic
7 窗口切換赞厕,幫助艳狐,補(bǔ)全和用戶(hù)手冊(cè)
獲取幫助
:help COMMAND 對(duì)于命令的幫助顯示一個(gè)新的窗口
在窗口之間切換
CTRL-W CTRL-W 連擊兩次control+w可以在vim的窗口之間切換
冒號(hào)進(jìn)入命令模式,可以使用補(bǔ)全機(jī)制
TAB 一個(gè)個(gè)顯示補(bǔ)全的命令
CTRL-D 顯示所有可以匹配的命令