Linux vi编辑器完全指南:命令详解
下载需积分: 11 | DOC格式 | 41KB |
更新于2024-09-16
| 62 浏览量 | 举报
Linux中的vi(Visual Editor)是一款强大的文本编辑器,它的全称是Vim(Vi IMproved),是原始vi编辑器的增强版本。vi编辑器在Linux和类Unix系统中广泛使用,因其高效的操作方式和丰富的功能而深受程序员和系统管理员的喜爱。
1. **进入vi编辑器**
- `vi filename`:打开或创建名为`filename`的文件,并将光标置于第一行首。
- `vi+n filename`:打开`filename`,光标置于第n行首。
- `vi+ filename`:打开文件,光标位于最后一行首。
- `vi+/pattern filename`:打开文件,光标位于第一个匹配`pattern`的字符串处。
- `vi-r filename`:用于恢复上次使用vi编辑时因系统崩溃未保存的文件`filename`。
2. **移动光标**
- `h`:光标左移一个字符。
- `l`:光标右移一个字符。
- `space`:光标右移一个字符。
- `Backspace`:光标左移一个字符。
- `k`或`Ctrl+p`:光标上移一行。
- `j`或`Ctrl+n`:光标下移一行。
- `Enter`:光标下移一行。
- `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`键。
5. **删除命令**
- `ndw`或`ndW`:删除从光标开始的n-1个字。
- `do`:删除至行首。
- `d$`:删除至行尾。
- `ndd`:删除当前行及其后的n-1行。
- `x`或`X`:删除一个字符,`x`删除光标后的,`X`删除光标前的。
- `Ctrl+u`:删除输入模式下的所有已输入文本。
6. **搜索与替换**
- `/pattern`:从光标开始向文件尾部搜索`pattern`。
- `?pattern`:从光标开始向文件首部搜索`pattern`。
- `n`:在同一方向重复上一次搜索。
- `N`:在相反方向重复上一次搜索。
- `:s/pattern/replacement/`:在当前行中替换第一个匹配的`pattern`为`replacement`。
- `:s/pattern/replacement/g`:在当前行中全局替换所有匹配的`pattern`为`replacement`。
- `:%s/pattern/replacement/g`:在整个文件中全局替换所有匹配的`pattern`为`replacement`。
以上是vi编辑器的基本操作,通过熟练掌握这些命令,可以高效地进行文本编辑工作。不过,vi的强大之处远不止于此,它还包括更多高级特性,如宏录制、可视模式、撤销/重做等,这些都使得vi成为了一个功能全面且高度可定制化的文本编辑工具。
相关推荐










夏芳然
- 粉丝: 0
最新资源
- 心电图前端设计:集成呼吸起搏检测功能
- 移动端省市区三级联动功能实现与展示
- 建筑涂料喷刷机器人的操作指南解析
- 深入解析Android MaterialDialog开源项目
- Linux命令库详解与Shell操作指南
- dotlambda库:Racket中支持点标识符和Lambda表达式
- PLSQL与Oracle客户端使用与配置教程
- IDEA开发的图书管理系统功能详解
- Bootstrap前端模板开发快速指南
- Android平台的简易数独游戏教程
- Android ReCap API示例代码教程
- 全隔离式锂离子电池监控与保护系统设计
- 模式分类Duda课后习题Matlab程序实现与工具箱指南
- Python脚本自动获取B站直播奖励
- 新型建筑用混凝土定型模具的介绍与应用
- Odoo10公司系统邮件发送功能学习指南