<source : unflash>

一、為什麼要學 vi / vim ?

  • 大部份的 Unix Like 系統都會內建 vi 文書編輯器。
  • 很多個別軟體的編輯介面都會主動呼叫 vi
  • vim 具有程式編輯的能力,可以主動的以字體顏色辨別語法的正確性,以便程式設計。
  • 程式簡單,編輯速度快速。

二、vi的三種模式

(一)、一般模式

預設模式,主要檢視檔案內容。

(二)、編輯模式

按 "  i  "進入編輯模式,畫面左下方會出現 "INSERT" 字眼,即可編輯。按 "Esc"鍵,即可離開編輯模式。

(三)、指令列命令模式

以指令進行搜尋、讀取、存檔、大量取代字元、離開vi、顯示行號等。

三、常用指令整理

1.使用 vi 進入一般模式

$ vi [檔名]
ex. vi test.txt

2.移動

  • Ctrl + f :  螢幕向下移動一頁,相當於 "Page Down"
  • Ctrl + b :  螢幕向上移動一頁,相當於 "Page Up"
  • Ctrl + d :  螢幕向下移動半頁
  • Ctrl + u :  螢幕向上移動半頁
  • n<space> : n為數字,例如 10 。輸入數字後再按空白鍵,游標會向右移動到該行的 n 個字元。ex. 10<space>,則由標向右移動10個字元距離。
  • nG : n為數字。移動到這個檔案的第n行。 ex. 10G,表示移動到該檔案的第10行。
  • gg : 移動到該檔案的第一行。
  • n<Enter> : n為數字。游標向下移動 n 行。

3.搜尋與取代

  • /word : 向游標之下尋找名為 word(可置換其他內容)的字串。ex. 如要尋找 "hi",指令為 "/hi"。
  • :n1,n2s/字串/取代字串/g
n1 : 從第n1行
n2 : 到第n2行 (可依據實際需求更換,ex. $為最後一行 )
s : 搜尋
/字串 : 欲取代之字串
/取代字串 : 取代後的字串
g : 確認

ex.  " :10,20s/hi/hello/g "
>>在 10~20行間搜尋 hi,並取代為 hello。

4.刪除、複製與貼上

  • x, X : x為向後刪除一個字元,相當於[del]鍵。X為向前刪除一個字元,相當於 [backspace]鍵。
  • nx : n為數字,連續向後刪除n個字元。
  • dd : 刪除游標所在那一整列。
  • ndd : 刪除游標所在的向下 n 列。ex. 10dd,為刪除10列。

  • yy : 複製游標所在那一行。
  • nyy : 複製游標所在的向下 n 列。ex. 10dd,為複製10列。

  • p, P : p 為將已複製資料貼在游標下一行。P為將已複製資料貼在游標上一行。

  • u : 復原前一個動作。
  • [Ctrl] + r : 重做上一個動作。

5.其他

  • :w  : 存檔。
  • :w! : 強制存檔。
  • :q : 離開。
  • :q! : 強制離開。
  • :wq : 存檔並離開。
  • :set nu : 顯示行號。
  • :set nonu : 取消行號。

---
參考資料 :

0 留言