vi编辑器指令完全指南
需积分: 10 124 浏览量
更新于2024-07-30
收藏 128KB PDF 举报
"这篇文档是关于`vi`编辑器(也称为`vim`)的指令大全,涵盖了如何打开文件、移动光标、搜索文本、编辑和删除内容等多个方面。"
在`vi`编辑器中,有多种模式,包括命令模式、插入模式和末行模式。以下是一些重要的`vi`指令:
1. **打开文件**:
- `vi filename`: 打开或创建名为`filename`的文件,光标位于第一行首。
- `vi+nfilename`: 打开`filename`,光标位于第n行首。
- `vi+filename`: 打开`filename`,光标位于最后一行首。
- `vi+/patternfilename`: 打开文件并定位到第一个匹配`pattern`的字符串。
- `vi-rfilename`: 恢复在上次使用`vi`编辑时因系统崩溃而未保存的文件`filename`。
2. **移动光标**:
- `h`: 光标左移一个字符。
- `l`: 光标右移一个字符。
- `space`: 同`l`,右移一个字符。
- `Backspace`: 光标左移一个字符。
- `k` 或 `Ctrl+p`: 光标上移一行。
- `j` 或 `Ctrl+n`: 光标下移一行。
- `Enter`: 同`j`,下移一行。
- `w` 或 `W`: 光标右移一个单词至单词首。
- `b` 或 `B`: 光标左移一个单词至单词首。
- `e` 或 `E`: 光标右移一个单词至单词尾。
- `)`: 光标移至句子尾部。
- `(`: 光标移至句子首部。
- `}`: 光标移至段落开头。
- `{`: 光标移至段落结尾。
- `nG`: 光标移至第n行首。
- `n+`: 光标下移n行。
- `n-`: 光标上移n行。
- `n$`: 光标移至第n行尾。
- `H`: 光标移至屏幕顶行。
- `M`: 光标移至屏幕中间行。
- `L`: 光标移至屏幕最后一行。
- `0`: 光标移至当前行首。
- `$`: 光标移至当前行尾。
3. **屏幕翻滚**:
- `Ctrl+u`: 向文件首翻半屏。
- `Ctrl+d`: 向文件尾翻半屏。
- `Ctrl+f`: 向文件尾翻一屏。
- `Ctrl+b`: 向文件首翻一屏。
- `nz`: 将第n行滚动到屏幕顶部,不指定n则将当前行滚动到顶部。
4. **插入文本**:
- `i`: 在光标前进入插入模式。
- `I`: 在当前行首进入插入模式。
- `a`: 在光标后进入插入模式。
- `A`: 在当前行尾进入插入模式。
- `o`: 在当前行下方新开一行并进入插入模式。
- `O`: 在当前行上方新开一行并进入插入模式。
- `r`: 替换当前字符。
- `R`: 连续替换当前字符及其后的字符,直到按下`ESC`键结束。
- `s`: 删除当前光标位置开始的指定数量字符并进入插入模式。
- `S`: 删除指定数量的行并进入插入模式以输入新内容。
- `ncw` 或 `nCW`: 修改从光标处开始的n个字。
- `nCC`: 修改指定数量的行。
5. **删除命令**:
- `ndw` 或 `ndW`: 删除从光标处开始及其后的n-1个字。
- `do`: 删除至行首。
- `d$`: 删除至行尾。
- `ndd`: 删除当前行及其后n-1行。
- `x` 或 `X`: 删除一个字符,`x`删除光标后的,`X`删除光标前的。
这些指令是`vi/vim`编辑器的基本操作,熟练掌握它们可以极大地提高在Linux或其他Unix-like系统中的文本编辑效率。通过不断地实践和练习,你可以成为`vi`的高手,快速高效地处理各种文本编辑任务。
2022-09-23 上传
2021-09-30 上传
2022-09-22 上传
2023-06-13 上传
2021-09-30 上传
2022-09-21 上传
2022-09-20 上传
2022-09-22 上传
2022-09-22 上传
owenbeauty
- 粉丝: 1
- 资源: 4
最新资源
- 开源通讯录备份系统项目,易于复刻与扩展
- 探索NX二次开发:UF_DRF_ask_id_symbol_geometry函数详解
- Vuex使用教程:详细资料包解析与实践
- 汉印A300蓝牙打印机安卓App开发教程与资源
- kkFileView 4.4.0-beta版:Windows下的解压缩文件预览器
- ChatGPT对战Bard:一场AI的深度测评与比较
- 稳定版MySQL连接Java的驱动包MySQL Connector/J 5.1.38发布
- Zabbix监控系统离线安装包下载指南
- JavaScript Promise代码解析与应用
- 基于JAVA和SQL的离散数学题库管理系统开发与应用
- 竞赛项目申报系统:SpringBoot与Vue.js结合毕业设计
- JAVA+SQL打造离散数学题库管理系统:源代码与文档全览
- C#代码实现装箱与转换的详细解析
- 利用ChatGPT深入了解行业的快速方法论
- C语言链表操作实战解析与代码示例
- 大学生选修选课系统设计与实现:源码及数据库架构