Linux vi编辑器完全指南:命令详解
需积分: 11 167 浏览量
更新于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 上传
2011-12-19 上传
2017-07-19 上传
2008-12-16 上传
2009-04-17 上传
2009-02-12 上传
夏芳然
- 粉丝: 0
- 资源: 8
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍