Linux环境下使用VI编辑器的全面指南
下载需积分: 10 | TXT格式 | 11KB |
更新于2024-09-15
| 24 浏览量 | 举报
"该资源是一份关于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`编辑器的部分命令,实际上它还有许多其他功能和复杂的组合使用方式,熟练掌握这些命令将大大提高你在终端中编辑文本的效率。
相关推荐










cool1li
- 粉丝: 1
最新资源
- UMLChina:系统建模与设计关键要素详解
- Prototype中文API详解与实用函数
- 复杂网络结构与功能研究综述
- 电脑判案与法律推理:人工智能在司法中的角色探讨
- 《深入浅出MFC》2/e电子书免费下载
- 使用C#操作Excel:从入门到精通
- 正则表达式基础与高级技巧详解
- C#设计模式手册:单例、工厂到访问者模式解析
- Eclipse插件开发实战:从安装到SWTDesigner应用
- Visual Studio .NET使用技巧全览:2004-2007精华
- Ant入门教程:构建Java项目的必备指南
- Log4j配置与使用详解
- 探索Eclipse:使用指南与插件开发详解
- 网页开发:200个常用JSP脚本与JavaScript技巧
- 深入解析bash-door后门机制
- 快速排序算法详解与实现