Vi 簡 介
---- vi 做為Linux 系統中一種編輯器,它的使用方法和界面與 Unix 平臺十分相似。在 Linux 中有很多功能強大,界面友好的編輯器,但是vi 還是值得你學習它的使用方法。初步接觸 VI,你覺得它的界面不太友好,不容易掌握,可是一旦你掌握了vi 的命令,你可以感覺到它強大的功能與高效。而且vi 相對來說較小,無論你使用任何 Linux系統,你總是可以使用vi的。在很多系統中,可能只有 vi 供你選擇。--
---- 進 入 與 離 開
---- 要 進 入 vi 可 以 直 接 在 系 統 提 示 字 符 下 鍵 入 vi < 文 件 名 稱 >,vi 可 以 自 動 幫 你 載 入 所 要 編 輯 的 文 件 或 是 開 啟 一 個 新 文 件。 進 入 vi 後 屏 幕 左 方 會 出 現 波 浪 符 號, 凡 是 列 首 有 該 符 號 就 代 表 此 列 目 前 是 空 的。 要 離 開 vi 可 以 在 指 令 模 式 下 鍵 入 :q, :wq 指 令 則 是 存 檔 後 再 離 開( 注 意 冒 號)。 要 切 換 到 指 令 模 式 下 則 是 用 [ESC] 鍵, 如 果 不 曉 得 現 在 是 處 於 什 麼 模 式, 可 以 多 按 幾 次 [ESC], 系 統 會 發 出 嗶 嗶 聲 以 確 定 進 入 指 令 模 式。
---- Vi 輸 入 模 式
----如 何 輸 入 資 料 呢 ? 有 好 幾 個 指 令 可 以 進 入 輸 入 模 式:
新增 (append)
---- a 從 光 標 所 在 位 置 後 面 開 始 新 增 資 料, 光 標 後 的 資 料 隨 新 增 資 料 向 後 移 動。
---- A 從 光 標 所 在 列 最 後 面 的 地 方 開 始 新 增 資 料。
插 入 (insert)
---- i 從 光 標 所 在 位 置 前 面 開 始 插 入 資 料, 光 標 後 的 資 料 隨 新 增 資 料 向 後 移 動。
---- I 從 光 標列 的 第 一 個 非 空 白 字 符 前 面 開 始 插 入 資 料。
開 始 (open)
---- o 在 光 標 所 在 列 下 新 增 一 列 并 進 入 輸 入 模 式。
---- O 在 光 標 所 在 列 上 方 新 增 一 列 并 進 入 輸 入 模 式。
---- - 刪 除 與 修 改
---- 何 謂 編 輯 ? 在 這 里 我 們 認 為 是 文 字 的 新 增 修 改 以 及 刪 除, 甚 至 包 括 文 字 區 塊 的 搬 移、 復 制 等 等。 這 里 先 介 紹 vi 的 如 何 做 刪 除 與 修 改。( 注 意: 在 vi 的 原 始 觀 念 里, 輸 入 跟 編 輯 是 兩 碼 子 事。 編 輯 是 在 指 令 模 式 下 操 作 的, 先 利 用 指 令 移 動 光 標 來 定 位 要 進 行 編 輯 的 地 方, 然 後 才 下 指 令 做 編 輯。)
---- x 刪 除 光 標 所 在 字 符。
---- dd 刪 除 光 標 所 在 的 列。
---- r 修 改 光 標 所 在 字 符,r 後 接 著 要 修 正 的 字 符。
---- R 進 入 取 代 狀 態, 新 增 資 料 會 覆 蓋 原 先 資 料, 直 到 按 [ESC] 回 到 指 令 模 式 下 為 止。
---- s 刪 除 光 標 所 在 字 符, 并 進 入 輸 入 模 式。
---- S 刪 除 光 標 所 在 的 列, 并 進 入 輸 入 模 式。
----
這里列出 vi 中較常用的操作命令。
進入輸入輸出的方法 |
|
命令 | 作用 |
<a> | 在光標后輸入文本 |
<A> | 在當前行末尾輸入文本 |
<i> | 在光標前輸入文本 |
<I> | 在當前行開始輸入文本 |
<o> | 在當前行后輸入新一行 |
<O> | 在當前行前輸入新一行 |
光標移動 |
|
命令 | 作用 |
<b> | 移動到當前單詞的開始 |
<e> | 移動到當前單詞的結尾 |
<w> | 向前移動一個單詞 |
<h> | 向前移動一個字符 |
<j> | 向上移動一行 |
<k> | 向下移動一行 |
<l> | 向后移動一個字符 |
刪除操作 |
|
命令 | 作用 |
<x> | 刪除光標所在的字符 |
<dw> | 刪除光標所在的單詞 |
<d$> | 刪除光標至行尾的所有字符 |
<D> | 同<d$> |
<dd> | 刪除當前行 |
可在刪除命令前加上數字,如<5x>表示刪除5行。
改變與替換操作 |
|
命令 | 作用 |
<r> | 替換光標所在的字符 |
<R> | 替換字符序列 |
<cw> | 替換一個單詞 |
<ce> | 同<cw> |
<cb> | 替換光標所在的前一字符 |
<c$> | 替換自光標位置至行尾的所有字符 |
<C> | 同<c$> |
<cc> | 替換當前行 |
查詢 |
|
命令 | 作用 |
</abc> | 向前查詢abc |
<?abc> | 向后查詢abc |
<n> | 向前繼續查詢 |
<N> | 向后繼續查詢 |
拷貝與粘貼 |
|
命令 | 作用 |
</yw> | 將光標所在單詞拷入剪貼板 |
<y$> | 將光標至行尾的字符拷入剪貼板 |
<Y> | 同<y$> |
<yy> | 將當前行拷入剪貼板 |
<p> | 將剪貼板中的內容粘貼在光標后 |
<P> | 將剪貼板中的內容粘貼在光標前 |
文件保存及退出vi |
|
命令 | 作用 |
<:q> | 不包存退出 |
<:q!> | 不保存強制性退出 |
<:w> | 保存編輯 |
<:w filename> | 存入文件 filename 中 |
<:w! filename> | 強制性存入文件 filename 中 |
<:wq> | 保存退出 |
<:x> | 同 <:wq> |
<ZZ> | 同 <:wq> |