Vi 簡介
Vi 是 Unix 世界裡極為普遍的全螢幕文書編輯器
Vi 基本觀念
Unix 提供一系列的 ex 編輯器
也由於 vi 是全螢幕編輯器
只要簡單的執行 vi 就可以進入 vi 的編輯環境
進入與離開
要進入 vi 可以直接在系統提示字元下鍵入 vi <檔案名稱>
Vi 輸入模式
要如何輸入資料呢?有好幾個指令可以進入輸入模式
新增 (append)
a 從游標所在位置後面開始新增資料
A 從游標所在列最後面的地方開始新增資料
插入 (insert)
i 從游標所在位置前面開始插入資料
I 從游標所在列的第一個非空白字元前面開始插入資料
開始 (open)
o 在游標所在列下新增一列並進入輸入模式
O 在游標所在列上方新增一列並進入輸入模式
也許文字敘述看起來有點繁雜
Vi 基本編輯
配合一般鍵盤上的功能鍵
在繼續下去之前先來點 BCC 吧
在文書編輯軟體上會遇這樣的問題
刪除與修改
何謂編輯?在這裡我們認為是文字的新增修改以及刪除
x 刪除游標所在字元
dd 刪除游標所在的列
r 修改游標所在字元
R 進入取代狀態
s 刪除游標所在字元
S 刪除游標所在的列
其實呢
終端機都能用
在指令模式下移動游標的基本指令是 h
當然 PC 鍵盤也有不足之處
Vi 進階應用
相信現在對於 vi 應該已經有相當的認識
移動游標
由於許多編輯工作是藉由游標來定位
┌—————┬—————————————┬—————┐
│指令 │說明 │功能鍵 │
├—————┼—————————————┼—————┤
│
├—————┼—————————————┼—————┤
│$ │移動到游標所在列的最後面 │[End] │
├—————┼—————————————┼—————┤
│[CTRL][d] │向下半頁 │ │
├—————┼—————————————┼—————┤
│[CTRL][f] │向下一頁 │[PageDown]│
├—————┼—————————————┼—————┤
│[CTRL][u] │向上半頁 │ │
├—————┼—————————————┼—————┤
│[CTRL][b] │向上一頁 │[PageUp] │
└—————┴—————————————┴—————┘
┌——┬—————————————————┐
│指令│說明 │
├——┼—————————————————┤
│H │移動到視窗的第一列 │
├——┼—————————————————┤
│M │移動到視窗的中間列 │
├——┼—————————————————┤
│L │移動到視窗的最後列 │
├——┼—————————————————┤
│b │移動到下個字的第一個字母 │
├——┼—————————————————┤
│w │移動到上個字的第一個字母 │
├——┼—————————————————┤
│e │移動到下個字的最後一個字母 │
├——┼—————————————————┤
│^ │移動到游標所在列的第一個非空白字元│
└——┴—————————————————┘
┌——┬———————————————————┐
│指令│說明 │
├——┼———————————————————┤
│n
│ │前面加上數字可以指定移動到以上 n 列 │
├——┼———————————————————┤
│n+ │加號移動到下一列的第一個非空白字元 │
│ │前面加上數字可以指定移動到以下 n 列 │
├——┼———————————————————┤
│nG │直接用數字 n 加上大寫 G 移動到第 n 列 │
└——┴———————————————————┘
┌————┬———————————————┐
│指令 │說明 │
├————┼———————————————┤
│fx │往右移動到 x 字元上 │
│Fx │往左移動到 x 字元上 │
├————┼———————————————┤
│tx │往右移動到 x 字元前 │
│Tx │往左移動到 x 字元前 │
├————┼———————————————┤
│; │配合 f&t 使用
│
├————┼———————————————┤
│/string │往右移動到有 string 的地方 │
│?string │往左移動到有 string 的地方 │
├————┼———————————————┤
│n │配合 /&? 使用
│N │配合 /&? 使用
└————┴———————————————┘
┌————┬———————————————————┬——————————┐
│指令 │說明 │備注 │
├————┼———————————————————┼——————————┤
│n( │左括號移動到句子的最前面 │句子是以 │
│ │前面加上數字可以指定往前移動 n 個句子 │!
│n) │右括號移動到下個句子的最前面 │ │
│ │前面加上數字可以指定往後移動 n 個句子 │ │
├————┼———————————————————┼——————————┤
│n{ │左括弧移動到段落的最
From:http://tw.wingwit.com/Article/program/Oracle/201311/17235.html