Posted on

VI文書處理器

Linux的文書處理器

若要使用Linux來管理伺服器,文書處理是很重要的,因此會需要了解如何操作Linux裡的文書編輯軟體VI。
要呼叫VI的方式如下

VI的三種使用模式

因為純鍵盤的操作,又需要可以支持打字,因此VI將操作模式分為下面三種

  • 一般模式:可以使用『上下左右』按鍵來移動游標,您可以使用『刪除字元』或『刪除整行』來處理檔案內容,也可以使用『複製、貼上』來處理您的文件資料
  • 編輯模式: 用來編輯檔案內容,按下『i, I, o, O, a, A, r, R』其中一個可以進入編輯模式,畫面的左下方會出現『 INSERT 或 REPLACE 』的字樣。
  • 指令列命令模式:輸入『 : 或 / 』就可以將游標移動到最底下那一行。可做儲存搜尋等動作


左下方的I代表現在正在編輯模式

一般模式

  • [Ctrl] + [f]: 螢幕『向前』移動一頁
  • [Ctrl] + [b]: 螢幕『向後』移動一頁
  • /word: 向游標之後尋找一個字串名稱為 word 的字串。
  • ?word: 向游標之前尋找一個字串名稱為 word 的字串。
  • :n1,n2s/word1/word2/g : 在第 n1 與 n2 行之間尋找 word1 這個字串,並將該字串取代為 word2 !
  • :1,$s/word1/word2/g : 從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2 !
  • :1,$s/word1/word2/gc: 從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2 !且在取代前顯示提示字元給使用者確認(conform)是否需要取代!
  • x 為向後刪除一個字元, X 為向前刪除一個字元
  • dd刪除游標所在的那一整列
  • yy:複製游標所在的那一行,20yy 則是複製 20 列
  • p 為複製的資料在游標下一行貼上,P 則為貼在游標上一行!
  • u: 復原前一個動作。

編輯模式

  • i, I插入:在目前的游標所在處插入輸入之文字,已存在的文字會向後退;
  • a, A增加:由目前游標所在的下一個字開始輸入,已存在的文字會向後退:
  • o, O插入新的一行:從游標所在的下一行枝行首開始輸入文字
  • r, R取代:r 會取代游標所在的那一個字元;R會一直取代游標所在的文字,直到按下 ESC 為止;
  • Esc退出編輯模式,回到一般模式中

指令列命令模式

  • :w 將編輯的資料寫入硬碟檔案中
  • :q 離開 vi
  • :wq 儲存後離開,若為 :wq! 則為強制儲存後離開
  • :e! 將檔案還原到最原始的狀態!
  • ZZ 若檔案沒有更動,則不儲存離開,若檔案已經經過更動,則儲存後離開!
  • :w [filename] 將編輯的資料儲存成另一個檔案(類似另存新檔)
  • :r [filename] 在編輯的資料中,讀入另一個檔案的資料。亦即將 『filename』 這個檔案內容加到游標所在行後面
  • :set nu 顯示行號,設定之後,會在每一行的字首顯示該行的行號
  • :set nonu 與 set nu 相反,為取消行號!
  • n1,n2 w [filename] 將 n1 到 n2 的內容儲存成 filename 這個檔案。
  • :! command 暫時離開 vi 到指令列模式下執行 command 的顯示結果!例如[ :! ls /home ]

後面加上!則代表強制執行