2017年8月24日

vi 常用功能

在 Unix Like OS 系統中, vi 是個很基本、很強大的文字編輯器,幾乎每一款 Unix Like OS 都會內建 vi 編輯器。( 註:是 vi ,不是 vim )



因為 vi 真是太強大了,強大到全部的語法根本就記不起來,所以就整理了幾個常用的語法,幾招就能走天下了。





在介紹 vi 常用的小技巧之前,得先了解在使用 vi 的時候有 3 種模式。

1.編輯模式:對文件進行文字的編輯

2.指令模式:對文件進行存檔、尋找、相關資訊、... ... 等指令功能。

3.閱讀模式:游標可以自由在這份文字檔案移動,閱讀這份文件。









$ vi test.txt

用 vi 開啟一份 test.txt 的檔案。



( 說明:左上角閃爍的綠色方塊,就是游標所在;左下角的 test.txt 是檔案名稱;後面的 [New_File] 表示這個檔案是新建立的,在你編輯之前,尚未存在電腦裡。 )











按下小寫 i 之後,就可以在游標之後插入文字。同時左下角會變成 -- INSERT -- 的插入模式。















當你輸入完畢,按下 Esc 按鍵,就會結束編輯模式,左下角的 -- INSERT -- 也就不見了。













想知道游標所在的行數嗎?閱讀模式 按下 Ctrl + G 就可以了。

從下方的資訊可以看到,這個檔案共有 5 行,而游標所在位置是第 3 行,在整個檔案的 60% 的位置。















按下 冒號 : ,就游標會跑到下方,等你輸入指令,請輸入 x 或是 wq 。w 代表存檔、q 代表離開 vi ,而 x 就代表 wq 。













$ vi test.txt

請繼續編輯這份 test.txt 檔案。

把游標移動到最後一行,然後按下小寫 o ,會在最後面新增一行。打一些字進去吧。輸入完畢之後,按 冒號 : 進入指令模式。













在 冒號 : 的指令模式,直接輸入 數字 ,例如 6 ,按 Enter ,就可以直接跳到第 6 行,輸入 9 ,按 Enter 就能跳到第 9 行。









指令模式除了冒號 : 之外,也可以輸入 斜線 / ,在 斜線之後 輸入 要尋找的關鍵字 ( 大小寫不同 ) ,按 Enter 開始尋找。例如:一些。











當找到第一個關鍵字之後,馬上再按下小寫 n ,可以跳到下一個關鍵字,再按 n 、就在跳到下一個關鍵字... ... ... 當回到第一個關鍵字的時候,下方會跳出紅字 search hit BOTTOM, continuing at TOP 提醒。











可以用這份檔案來練習,減去打字的時間。這份檔案就是開機的訊息檔。

$ vi /var/log/dmesg 







vi 的「剪下」功能:閱讀模式,游標所在的那一行,連續按兩次 d d ,就可以把那一行文字「剪下」。



vi 的「貼上」功能:閱讀模式,當你完成上述的剪下動作之後,vi 就會把剛剛剪下的內容暫存在記憶體,請移動你的游標,按下大寫 P 就可以在游標之後「貼上」;按下小寫 p 就可以在游標之前「貼上」。



vi 的「剪下多行」功能:非編輯模式,游標所在的那一行,按 1 次 d 、再按要剪下的行數、再按 d 。( 例如:游標停在 飄來一些雲 這行,按下 d 3 d ,就可以把那三行剪下,然後到想貼上的地方貼上。








復原上一個動作:閱讀模式,按下 u 就可以回復上一個動作,再按 u u u u u u......可以一直回復上一個動作,直到你最初打開這份檔案的狀態。





閱讀模式,按 Ctrl F 會翻下一頁、Ctrl B 會翻上一頁。











小整理:

1.按下 Esc 回到 閱讀模式。( 單純閱讀 )

2.按下 冒號 : 斜線 / 進入 指令模式。( 用來尋找、存檔、跳行 )

3.按下 i 、o 、p 、P 、dd  進入編輯模式。( 用來打字、修改、刪除 )





我會的 vi 指令不多,靠這幾招就夠處理伺服器設定檔的大小事了。

沒有留言: