Linux 下的Vim命令寶貝
阿新 • • 發佈:2018-12-21
vi: Visual Interface 視覺化介面 vim: VI iMproved VI增強版
全屏編輯器,模式化編輯器
vim模式:
- 編輯模式(命令模式)
- 輸入模式
- 末行模式
模式轉換:
編輯-->輸入:
i: 在當前游標所在字元的前面,轉為輸入模式; a: 在當前游標所在字元的後面,轉為輸入模式; o: 在當前游標所在行的下方,新建一行,並轉為輸入模式; I:在當前游標所在行的行首,轉換為輸入模式 A:在當前游標所在行的行尾,轉換為輸入模式 O:在當前游標所在行的上方,新建一行,並轉為輸入模式;
輸入-->編輯:
ESC
編輯-->末行:
:
末行-->編輯:
ESC, ESC
注:輸入模式和末行模式之間不能直接切換
一、開啟檔案
vim +# :開啟檔案,並定位於第#行 vim +:開啟檔案,定位至最後一行 vim +/PATTERN : 開啟檔案,定位至第一次被PATTERN匹配到的行的行首
注:預設處於編輯模式
二、關閉檔案
1、末行模式關閉檔案
:q 退出 :wq 儲存並退出 :q! 不儲存並退出 :w 儲存 :w! 強行儲存 :wq --> :x
2、編輯模式下退出
ZZ: 儲存並退出
三、移動游標(編輯模式)
1、逐字元移動:
h: 左 l: 右 j: 下 k: 上 #h: 移動#個字元
2、以單詞為單位移動
w: 移至下一個單詞的詞首 e: 跳至當前或下一個單詞的詞尾 b: 跳至當前或前一個單詞的詞首 #w: 移動#個單詞
3、行內跳轉:
0: 絕對行首 ^: 行首的第一個非空白字元 $: 絕對行尾
4、行間跳轉
#G:跳轉至第#行 gg: 第一行 G:最後一行
5、末行模式
.: 表示當前行 $: 最後一行 #:第#行 +#: 向下的#行
四、翻屏
Ctrl+f: 向下翻一屏 Ctrl+b: 向上翻一屏 Ctrl+d: 向下翻半屏 Ctrl+u: 向上翻半屏
五、刪除單個字元
x: 刪除游標所在處的單個字元 #x: 刪除游標所在處及向後的共#個字元
六、刪除命令: d
d命令跟跳轉命令組合使用
#dw, #de, #db
dd: 刪除當前游標所在行 #dd: 刪除包括當前游標所在行在內的#行;
七、貼上命令 p
p: 如果刪除或複製為整行內容,則貼上至游標所在行的下方,如果複製或刪除的內容為非整行,則貼上至游標所在字元的後面 P: 如果刪除或複製為整行內容,則貼上至游標所在行的上方,如果複製或刪除的內容為非整行,則貼上至游標所在字元的前面
八、複製命令 y
用法同d命令
九、修改:先刪除內容,再轉換為輸入模式
c: 用法同d命令
十、替換:
r:單字元替換 #r: 游標後#個字元全部替換 R: 替換模式
十一、撤消編輯操作 u
u:撤消前一次的編輯操作 #u: 直接撤消最近#次編輯操作 連續u命令可撤消此前的n次編輯操作 撤消最近一次撤消操作:Ctrl+r
十二、重複前一次編輯操作
.:編輯模式重複前一次編輯操作
十三、視覺化模式
v: 按字元選取 V:按矩形選取
十四、查詢
/PATTERN ?PATTERN n 下一個 N 上一個
十五、查詢並替換
在末行模式下使用s命令
headline,footlines#PATTERN#string#g 1,$:表示全文 %:表示全文
十六、使用vim編輯多個檔案
vim FILE1 FILE2 FILE3 :next 切換至下一個檔案 :prev 切換至前一個檔案 :last 切換至最後一個檔案 :first 切換至第一個檔案 :q退出當前檔案 :qa 全部退出
十七、分屏顯示一個檔案
Ctrl+w, s: 水平拆分視窗 Ctrl+w, v: 垂直拆分視窗
在視窗間切換游標:
Ctrl+w, ARROW(h,j,k,l或方向鍵) :qa 關閉所有視窗
十八、分視窗編輯多個檔案
vim -o : 水平分割顯示 vim -O : 垂直分割顯示
十九、將當前檔案中部分內容另存為另外一個檔案
末行模式下使用w命令
:ADDR1,ADDR2w /path/to/somewhere
二十、將另外一個檔案的內容填充在當前檔案中
:r /path/to/somefile 附加到當前檔案游標後
二十一、跟shell互動
:! COMMAND
二十二、高階話題
1、顯示或取消顯示行號
:set nu :set nonu mu = number
2、顯示忽略或區分字元大小寫
:set ic :set noic ic = ignorecase
3、設定自動縮排
:set ai :set noai ai = autoindent
4、查詢到的文字高亮顯示或取消
:set hlsearch :set nohlsearch
5、語法高亮
:syntax on :syntax off