### 超实用VI编辑手册知识点详解 #### 一、VI编辑器简介 **vi** (Visual Editor) 是 UNIX 和类 UNIX 操作系统中最常用的文本编辑器之一。它功能强大,支持多种操作模式,适用于从简单的文本编辑到复杂的脚本编写等各种场景。本手册旨在帮助初学者快速掌握 vi 的基本操作。 #### 二、启动vi编辑器 - **基本启动**: 使用 `vi filename` 命令来启动编辑器。如果文件不存在,则创建新文件;如果文件已存在,则打开该文件。 - **同时编辑多个文件**: 可以通过 `vi file1 file2 file3` 的方式一次性打开多个文件。使用 `:n` 命令可以在这些文件之间切换。 - **打开并定位到特定行**: 通过 `vi +# filename` 或 `vi +# filename` 命令可以直接打开文件并定位到指定行,例如 `vi +100 records` 将从第100行开始编辑文件。 - **打开并定位到特定字符串**: 使用 `vi +/string filename` 命令打开文件并将光标定位到包含指定字符串的第一行,如 `vi +/Jason friends`。 - **只读模式**: 使用 `view filename` 命令可以以只读模式打开文件。此时无法保存对文件所做的更改,除非使用 `:w!` 强制保存。 #### 三、光标移动命令 - **基本移动**: `h`, `j`, `k`, `l` 分别控制光标向左、向下、向上、向右移动一个字符。 - **行首/行尾**: `0` 或 `^` 将光标移动到行首,`$` 将光标移动到行尾。 - **指定行**: `##G`(其中 `##` 代表数字),如 `42G` 将光标移动到第42行;`G` 直接将光标移动到文件的最后一行。 - **单词移动**: `w` 移动到下一个单词的开头,`e` 移动到下一个单词的结尾,`b` 移动到上一个单词的开头。 - **屏幕定位**: `H` 移动到屏幕顶部,`M` 移动到屏幕中部,`L` 移动到屏幕底部。 - **行内位置**: `12|` 将光标移动到当前行的第12列。 - **返回前一位置**: `''` 将光标移动到其先前的位置。 #### 四、上下文光标定位命令 - **定位到指定字符**: `fb` 向前移动到下一个字符 `b`,`Fb` 向后移动到上一个字符 `b`。 - **字符定位**: `t#` 将光标移到当前行上字符 `#` 的第一个实例右侧,`T#` 在当前行上向左移动到字符 `#` 的第一个实例之前。 - **搜索模式**: `/word` 将光标向前移动到单词 `word` 的下一个实例,`?word` 将光标向后移动到单词 `word` 的上一个实例。使用 `n` 命令可以查找下一个匹配项。 #### 五、显示调整命令 - **滚动屏幕**: `Ctrl+D` 显示文件中的下半屏文本,`Ctrl+U` 显示文件中的上半屏文本。 - **页面翻转**: `Ctrl+F` 显示文件中的下一屏文本,`Ctrl+B` 显示文件中的上一屏文本。 #### 六、设置显示选项 - **显示行号**: `:set number` 显示行号,`:set nonumber` 清除行号显示。 - **显示模式**: `:set showmode` 在屏幕右下角显示追加模式信息。 - **显示特殊字符**: `:set list` 显示每行末尾的特殊符号,如 `$` 表示行尾,`Ctrl+I` 表示制表符。 - **其他设置**: `:set showmatch` 高亮匹配的括号,`:set window=value` 设置屏幕显示的行数等。 #### 七、文本删除命令 - **删除行**: `dd` 删除当前行,`#dd` 删除 `#` 行。 - **删除单词**: `dw` 删除一个单词,`#dw` 删除 `#` 个单词。 - **删除字符**: `x` 删除一个字符,`#x` 删除 `#` 个字符。 - **删除行内部分**: `D` 删除当前行光标后的所有内容。 - **删除多行**: `:#,#d` 删除从 `#` 到 `#` 之间的所有行。 #### 八、撤销命令 - **撤销**: `u` 撤销最后一次操作,在 Linux 中连续使用可撤销更多操作;在 BSD vi 中第二次撤销将恢复上次撤销的内容。 - **强制撤销**: `U` 撤销对当前行的所有修改,前提是未离开当前行。 #### 九、向文本中添加文本 - **插入模式**: `a` 从光标右侧开始插入文本,`A` 从行尾开始插入文本。 - **替换模式**: `i` 从光标左侧开始插入文本,`I` 从行首开始插入文本。 - **新开行**: `o` 在当前光标下方新开一行,`O` 在当前光标上方新开一行。 #### 十、其他命令 - **替换内容**: `:#rfile` 替换当前行至 `#` 行的内容为文件 `file` 的内容。 通过以上详细介绍,我们可以看出 **vi** 编辑器的强大功能,无论是对于日常的文本编辑还是进行脚本开发都有着非常重要的作用。熟练掌握这些命令能够大大提高工作效率,是每个 UNIX 和类 UNIX 用户都应该掌握的基本技能之一。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助