Vi 简 介

一般来说,在vi编辑环境下,他有两种模式: 命令模式,输入模式;

在命令方式下你可完成诸如:置位光标,COPY,MOVE,删除,替换,块操作,写入,保存,查找等等操作,在编辑输入方式下,你可编写输入任何内容;

两模式的切换:从编辑模式切换到命令模式,按ESC键; 从命令模式进编辑模式可键入a,I,o等输入命令;可参见下面详细内容;

---- 进 入 与 离 开

---- 要 进 入 vi 可 以 直 接 在 系 统 提 示 字 符 下 键 入 vi < 文 件 名 称 >,vi 可 以 自 动 帮 你 载 入 所 要编 辑 的 文 件 或 是 开 启 一 个 新 文 件。 进 入 vi 後 屏 幕 左 方 会 出 现 波 浪符 号, 凡 是 列 首 有 该 符 号 就 代 表 此 列 目 前 是 空 的。 要 离 开 vi 可 以 在指 令 模 式 下 键 入 :q, :wq 指 令 则 是 存 档 後 再 离 开( 注 意 冒 号)。 要 切换 到 指 令 模 式 下 则 是 用 [ESC] 键, 如 果 不 晓 得 现 在 是 处 於 什 麽 模 式,可 以 多 按 几 次 [ESC], 系 统 会 发 出 哔 哔 声 以 确 定 进 入 指 令 模 式。

---- Vi 输 入 模 式

输入模式命令

 

进入输入输出的方法

命令

作用

<a>

在光标后输入文本

<A>

在当前行末尾输入文本

<i>

在光标前输入文本

<I>

在当前行开始输入文本

<o>

在当前行后输入新一行

<O>

在当前行前输入新一行

 


新增 (append)
---- a 从 光 标 所 在 位 置 後 面 开始 新 增 资 料, 光 标 後 的 资 料 随 新 增 资 料 向 後 移 动。
---- A 从 光 标 所 在 列 最 後 面 的 地 方 开 始 新 增 资料。

插 入 (insert)
--- i 从 光 标 所 在 位 置 前 面 开 始 插 入 资 料, 光 标 後 的 资 料 随 新 增 资 料 向 後 移 动。
--- I 从光 标列 的 第 一 个 非 空 白 字 符 前 面 开 始 插 入 资 料。

开 始 (open)
---- o 在 光 标 所 在 列 下 新 增 一 列 并 进 入 输 入 模 式。
---- O 在 光 标 所 在 列 上 方 新 增 一 列 并 进 入 输 入 模 式。

命令模式下

删 除 与 修 改

---- 何 谓 编 辑 ? 在 这 里 我 们 认 为 是 文 字 的 新 增 修 改 以 及 删 除, 甚 至 包 括 文 字 区 块 的 搬 移、 复 制等 等。 这 里 先 介 绍 vi 的 如 何 做 删 除 与 修 改。( 注 意: 在 vi 的 原 始 观 念 里, 输 入 跟 编 辑 是 两 码 子 事。 编 辑 是 在 指 令 模 式 下 操 作 的, 先 利 用 指 令 移 动 光 标 来 定位 要 进 行 编 辑 的 地 方, 然 後 才 下 指 令 做 编 辑。)

命令 作用

<x> 删除光标所在的字符

<dw> 删除光标所在的单词

<d$> 删除光标至行尾的所有字符

<D> 同<d$>

<dd> 删除当前行


可在删除命令前加上数字,如<5x>表示删除5行。

---- x 删 除 光 标 所 在 字 符。
---- dd 删 除 光 标 所 在 的 列。
---- r 修 改 光 标 所 在 字 符,r 後 接 著 要 修 正 的 字 符。
---- R 进 入 取 代 状 态, 新 增 资 料 会 覆 盖 原 先 资料, 直 到 按 [ESC] 回 到 指 令 模 式 下 为 止。
---- s 删 除 光 标 所 在 字 符, 并 进 入 输 入 模 式。
---- S 删 除 光 标 所 在 的 列, 并 进 入 输 入 模 式。

光标移动命令

命令 作用

<b> 移动到当前单词的开始

<e> 移动到当前单词的结尾

<w> 向前移动一个单词

<h> 向前移动一个字符

<j> 向上移动一行

<k> 向下移动一行

<l> 向后移动一个字符


改变与替换操作命令

命令 作用

<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>