Linux环境下使用VI编辑器的全面指南
需积分: 10 15 浏览量
更新于2024-09-15
收藏 11KB TXT 举报
"该资源是一份关于Linux下`vi`编辑器命令的综合指南,包含了打开、移动光标、编辑文本、查找与替换等基本操作,以及一些高级功能的使用方法。"
在Linux系统中,`vi`(Visual Editor)是一款强大的文本编辑器,它允许用户在终端中对文件进行各种编辑操作。以下是一些`vi`的基本命令和高级用法:
1. **打开文件**:
- `vi filename`:打开名为`filename`的文件。
- `vi +n filename`:从文件的第n行开始打开。
- `vi + filename`:从文件末尾开始打开。
- `vi +/pattern filename`:从包含`pattern`模式的第一行开始打开。
2. **编辑模式**:
- `i`:插入模式,光标前开始输入。
- `I`:在当前行首插入。
- `a`:追加模式,在光标后开始输入。
- `A`:在当前行尾追加。
- `o`:在当前行下新建一行并开始输入。
- `O`:在当前行上新建一行并开始输入。
3. **移动光标**:
- `h`:向左移动一字符。
- `l`:向右移动一字符。
- `space`:向右移动一字符。
- `Backspace`:向左移动一字符。
- `k`或`Ctrl+p`:向上移动一行。
- `j`或`Ctrl+n`:向下移动一行。
- `0`:移动到当前行首。
- `$`:移动到当前行尾。
4. **文本选择和删除**:
- `w`:向前移动到下一个单词的开头。
- `b`:向后移动到前一个单词的开头。
- `e`:向前移动到当前单词的结尾。
- `(`:向前移动到下一个句子的开头。
- `)`:向后移动到前一个句子的结尾。
- `{`:向前移动到下一个段落的开头。
- `}`:向后移动到前一个段落的结尾。
- `nG`:移动到文件的第n行。
- `G`:移动到文件的最后一行。
5. **复制、剪切和粘贴**:
- `yy`:复制当前行。
- `nyy`:复制从当前行开始的n行。
- `p`:粘贴在当前光标位置下方。
- `P`:粘贴在当前光标位置上方。
- `dd`:删除当前行。
- `ndd`:删除从当前行开始的n行。
6. **查找与替换**:
- `/pattern`:向前查找`pattern`。
- `?pattern`:向后查找`pattern`。
- `n`:重复上次查找方向的查找。
- `N`:反向重复上次查找方向的查找。
- `s/p1/p2/g`:替换当前行中所有`p1`为`p2`。
- `n1,n2s/p1/p2/g`:在范围`n1`到`n2`内的行中替换`p1`为`p2`。
7. **其他命令**:
- `:g/p1/s//p2/g`:全局替换,将所有包含`p1`的行替换为`p2`。
- `:all`:执行所有未执行的命令。
- `:term`:打开一个终端窗口。
- `:ignorance`:忽略大小写匹配。
- `:list`:显示行号。
- `:number`:显示行号。
- `:report`:设置报告行数。
- `:terse`:简洁模式,只显示关键信息。
- `:warn`:在不保存时离开提示。
- `:nomagic`:关闭特殊字符匹配。
- `:nowrapscan`:搜索时不跳过行尾。
- `:mesg`:关闭消息显示。
- `:n1,n2con3`:将范围`n1`到`n2`的内容复制到`n3`行下。
- `:n1,n2mn3`:将范围`n1`到`n2`标记为n3。
- `:n1,n2dn`:删除范围`n1`到`n2`的行。
8. **保存与退出**:
- `:w`:保存当前文件但不退出。
- `:wq`:保存并退出。
- `:x`:同`:wq`。
- `:q`:退出,如果文件已修改,会提示无法退出。
- `:q!`:强制退出,不保存修改。
9. **执行外部命令**:
- `:!command`:在shell中执行`command`命令。
- `:n1,n2w!command`:将范围`n1`到`n2`的内容通过`command`过滤后再写回。
- `:r!command`:将`command`的输出插入到当前行下。
10. **历史记录与撤销**:
- `ndd`:删除n行,并存入缓冲区。
- `"?nyy`:将n行存入寄存器`?`。
- `"?nyw`:将n行内容存入寄存器`?`。
- `"?nyl`:将n个字符存入寄存器`?`。
- `"?p`:粘贴寄存器`?`的内容。
- `U`:撤销上一步操作。
- `.`:重复上一步操作。
以上只是`vi`编辑器的部分命令,实际上它还有许多其他功能和复杂的组合使用方式,熟练掌握这些命令将大大提高你在终端中编辑文本的效率。
2023-06-12 上传
141 浏览量
105 浏览量
2022-09-22 上传
133 浏览量
126 浏览量

cool1li
- 粉丝: 1
最新资源
- LKNumberPad:iOS可定制数字键盘解决方案
- Android与Struts2图片上传功能的实现指南
- 探索CSS在网页设计中的创新应用
- 掌握iOS开发中的NStimer定时器使用技巧
- 聚合物方式样本库:小而实用的聚合物处理方法
- 兼容最新SDK的apkbuilder.bat脚本更新
- 深入解析jQuery AJAX结合Webservice实战教程
- Atom中hiera-eyaml的使用教程与密钥管理
- 深入解析驱动开发中的核心头文件与库文件
- Java版记忆游戏项目开发详解
- 金蝶K3 WISE版数据库全模块字典详细解读
- Akka持久性演化的stamina工具包特性解析
- JNative全功能jar包,一键下载使用
- 掌握C语言:Packt《学习C编程》全攻略
- 中源动力E1000小型变频器使用手册详尽解析
- Windows系统下注册Excel日历控件Mscomct2的方法