Vim(vi)使用整理,對比式記憶

Vim是一款強大的編輯器,但記命令挺麻煩,自行學習整理了下。比對着記憶起來更方便。當然常用纔是王道!

 

3種工作模式:普通模式、插入模式、命令模式

普通模式->插入模式:輸入a(光標後)、A(段尾)、i(光標前)、I(段首)、o(下新行)、O(上新行)
插入模式->普通模式:按ESC
普通模式->命令模式:輸入“:” w(保存)、wq(保存退出)、wq!(強制保存退出)

一、Vim默認進入普通模式,通過a、A、i、I、o、O進入插入模式
a(append追加) 、i(insert插入)和o(新行插入)
小寫命令後輸入,大寫命令前輸入

a:插入內容至 光標 後
A:插入內容至 段 尾
i:插入內容至 光標 前
I:插入內容至 段 首
o:新建空白行於 行 後
O:新建空白行於 行 前

二、按ESC從插入模式回到普通模式
1、光標移動
1.1 光標以 字符 爲單位移動:
上(k)、下(j)、左(h)、右(l)
^(首)、&(尾)------與正則表達式一致
fx(下一個x字符)、Fx(前一個字符處)-----find查找

1.2 光標以 行 爲單位移動
gg(首)、G(尾)-----go去
nG(第n行)

1.3 光標以 word詞 爲單位移動
b(左)、w(右)
nb(左n個)、bw(右n個)

2、編輯文檔
2.1 以 字符 爲單位
x:刪除光標當前字符
rx:將光標當前字符替換成鍵盤輸入字符replace X

2.1以 行 爲單位
dd(刪除一行)
ndd(刪除n行)
d&(刪除光標至行尾的內容)
d^(刪除光標至行首的內容)
J(刪除換行符,兩行合併一行)
yy(複製當前行)
P(粘貼至當前行之後)
p(粘貼至當前行之前)

2.3撤銷undo
u:撤銷上一步操作,可多次使用,兩個u,撤銷兩步操作

2.4查找定位
/關鍵字:自上往下查找關鍵字 ,n(next)跳轉 後 一個匹配,N(next)跳轉 前 一個匹配
?關鍵字:自下往上查找關鍵字 ,n(next)跳轉 前 一個匹配,N(next)跳轉 後 一個匹配
查找出結果後,
通過n(next)跳轉 後 一個匹配關鍵詞處
通過N(next)跳轉 前 一個匹配關鍵詞處

2.5退出
普通模式下輸入ZZ 保存並退出文檔


三、輸入“:”分號從普通模式進入命令模式

w:write寫 q:quit退出 !:強制
3.1 常規保存退出
:q!(不保存並退出)
:wq!(保存並退出)
:x(保存並退出)
:w(保存)
:w b.txt(另存爲b.txt)
3.2 替換
:s/root/admin/(將光標當前行中的 第一個 出現的root替換爲admin,沒有則不替換)
:s/root/admin/g(將光標當前行中的 所有 root替換爲admin)
:3,5 s/sbin/bin/g(將第3-5行之間的所有sbin替換爲bin)
:% s/nologin/fault/g (將所有行的nologin都替換爲fault)

3.3 多窗口操作

:split second.txt 水平分割窗口並打開新的文件second.txt
:vsplit second.txt 垂直分割窗口並打開新的文件second.txt
:close 關閉當前窗口
窗口間切換
Ctrl+w(window/widget窗口)+j(上)
Ctrl+w(window/widget窗口)+k(下)
Ctrl+w(window/widget窗口)+h(左)
Ctrl+w(window/widget窗口)+l(左)

3.4 執行shell命令
在不想退出Vim執行shell命令
命令模式下輸入
:!{shell命令}
eq:
:!ls(查看下當前目錄下檔案的名稱)

3.5其他
:set number(顯示行號)
:set nu(顯示行號)
:set ignorecase(不區分大小寫查找)

四、輸入內容自動補齊以詞爲單位
前面輸入過FIRST_TIME=09,以後再輸入FIRST_TIME僅需要輸入FI再使用快捷鍵Ctrl+N


注意:用Vim打開文件出現Found swap file by the name,兩種情況,其他進程正在編輯該文件,或上Vim非正常關閉,導致
swap文件未清除。處理辦法是,將該文件所在目錄下 以"."點開頭的隱藏文件刪除,文件名後綴一般爲swap

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