Linux vi编辑器完全指南:命令详解
需积分: 11 188 浏览量
更新于2024-09-16
收藏 41KB DOC 举报
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成为了一个功能全面且高度可定制化的文本编辑工具。
2014-04-10 上传
2009-02-12 上传
2011-12-19 上传
2017-07-19 上传
2008-12-16 上传
2009-04-17 上传
2009-07-29 上传
2010-09-23 上传
2011-05-12 上传
夏芳然
- 粉丝: 0
- 资源: 8
最新资源
- 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应用
- 东南大学网络空间安全学院复试代码解析