VI编辑器全攻略:命令行操作与进阶技巧
需积分: 9 6 浏览量
更新于2024-09-11
收藏 7KB TXT 举报
"这是关于VI编辑器的详细使用指南,涵盖了基本操作、文本移动、保存与退出、替换与搜索等核心功能。"
VI编辑器是一种强大的文本编辑器,它在Linux和Unix系统中广泛使用。本指南将深入讲解VI编辑器的基础和高级用法。
1. **启动与退出**
- `vi filename`:打开或创建名为`filename`的文件。
- `:q`:在正常模式下退出,但如果有未保存的更改,编辑器不会退出。
- `:q!`:强制退出,不保存任何更改。
- `:wq`:保存并退出。
- `:w`:保存文件,但不退出。
2. **模式切换**
- VI有三种主要模式:正常模式、插入模式和可视模式。
- **正常模式**:默认模式,用于移动光标和执行命令。
- **插入模式**:按`i`、`a`、`A`、`o`或`O`进入,此时可以输入文本。
- **可视模式**:按`v`进入,可以选中文本并执行操作。
3. **光标移动**
- `h`:向左移动。
- `j`:向下移动。
- `k`:向上移动。
- `l`:向右移动。
- `^`:移动到行首。
- `$`:移动到行尾。
- `w`:向前移动到下一个单词首。
- `b`:向后移动到上一个单词首。
- `e`:向前移动到当前单词尾。
- 数字与移动命令结合,例如`3j`将向下移动三行。
4. **页面导航**
- `Ctrl+F`:向前翻一页。
- `Ctrl+B`:向后翻一页。
- `Ctrl+D`:向下翻半页。
- `Ctrl+U`:向上翻半页。
5. **文本编辑**
- `yy`:复制当前行。
- `yw`:复制从光标到单词尾的文本。
- `y$`:复制从光标到行尾的文本。
- `y^`:复制从光标到行首的文本。
- `5yy`:复制5行。
- `p`:在光标下方粘贴。
- `P`:在光标上方粘贴。
6. **删除与撤销**
- `x`:删除光标处的一个字符。
- `dd`:删除当前行。
- `dw`:删除从光标到单词尾的文本。
- `de`:删除从光标到单词尾的文本(包括单词尾)。
- `d$`:删除从光标到行尾的文本。
- `d^`:删除从光标到行首的文本。
- `J`:合并当前行与其下方的行。
- `3x`:删除当前光标后的3个字符。
- `2dd`:删除当前行及其下一行。
- `3dw`:删除3个连续的单词。
- `2de`:删除2个连续的单词(包括单词尾)。
- `5J`:合并5行。
7. **查找与替换**
- `/word`:向前查找名为`word`的文本。
- `n`:查找下一个匹配项。
- `N`:查找上一个匹配项。
- `"?word"`:向后查找名为`word`的文本。
- `:s/old/new`:替换当前行中第一个`old`为`new`。
- `:s/old/new/g`:替换当前行中所有`old`为`new`。
- `:n,m`s/old/new/g`:在第n行到第m行之间替换所有`old`为`new`。
8. **其他命令**
- `:set nu`:显示行号。
- `:set nonu`:取消显示行号。
- `G`:跳转到文件末尾。
- `1G`:跳转到文件开头。
- `nG`:跳转到第n行。
- `u`:撤销最近一次更改。
- `Ctrl+R`:重做最近被撤销的更改。
掌握这些基本命令将帮助你更高效地使用VI编辑器进行文本编辑。随着熟练度的提高,你会发现VI编辑器的高效和强大。
2024-11-11 上传
2024-11-11 上传
2024-11-11 上传
2024-11-11 上传
2024-11-11 上传
2024-11-11 上传
2024-11-11 上传
lpf37998
- 粉丝: 0
- 资源: 3
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析