详尽指南:掌握UNIX系统的vi编辑器命令
需积分: 0 161 浏览量
更新于2024-09-11
收藏 223KB PDF 举报
"vi命令大全 - UNIX系统中的文本编辑器,包含多种操作命令,如移动光标、插入文本、删除内容等。"
在UNIX系统中,vi(Visual Editor)编辑器是一个非常重要的工具,它的命令众多且功能强大,对于任何想要深入学习和使用UNIX系统的用户来说,掌握vi编辑器的基本操作是必不可少的。vi编辑器有两种模式:命令模式和插入模式。在命令模式下,你可以通过键盘输入指令来移动光标、编辑文本、删除内容等;而在插入模式下,你可以直接在光标位置输入文本。
进入vi编辑器有多种方式,例如:
- `vi filename`:打开或创建名为filename的文件,光标位于第一行首。
- `vi +n filename`:打开文件,光标位于第n行首。
- `vi + filename`:打开文件,光标位于最后一行首。
- `vi +/pattern filename`:打开文件,光标位于第一个匹配pattern的字符串处。
- `vi -r filename`:在上次编辑时发生系统崩溃的情况下,恢复filename的编辑状态。
移动光标是vi编辑器的基础操作,以下是一些常用的移动命令:
- `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`(数字零):光标移至当前行首。
- `$`:光标移至当前行尾。
屏幕翻滚类命令用于查看文件的不同部分:
- `Ctrl+u`:向上滚动半屏。
- `Ctrl+d`:向下滚动半屏。
- `Ctrl+f`:向下滚动一屏。
- `Ctrl+b`:向上滚动一屏。
- `nz`:将第n行滚动到屏幕顶部,不指定n则滚动当前行。
插入文本类命令允许你在文件中添加内容:
- `i`:在光标前插入文本。
- `I`:在当前行首插入文本。
- `a`:在光标后插入文本。
- `A`:在当前行尾插入文本。
- `o`:在当前行下方新开一行并开始插入。
- `O`:在当前行上方新开一行并开始插入。
- `r`:替换当前字符。
- `R`:替换当前字符及其后的字符,直到按下ESC键。
- `s`:替换光标处开始的指定数量的字符。
- `S`:删除指定数量的行并输入文本替代。
- `ncw` 或 `nCW`:修改指定数量的单词。
- `nCC`:修改指定数量的行。
删除命令用于移除文件中的内容:
- `ndw` 或 `ndW`:删除光标及其后n-1个单词。
- `do`:删除至行首。
- `d$`:删除至行尾。
- `ndd`:删除当前行及其后n-1行。
- `x` 或 `X`:删除当前字符(`x`向后删除,`X`向前删除)。
这些只是vi编辑器命令的一部分,实际上,vi还有许多其他高级功能,如查找替换、宏定义、撤销重做等,对于日常的文本编辑和编程工作,熟练掌握vi能大大提高工作效率。学习和熟练使用vi,无疑是每个UNIX/Linux用户的必备技能。
2009-11-15 上传
2012-07-01 上传
2018-09-06 上传
2023-03-16 上传
2024-07-13 上传
2023-03-16 上传
2023-03-14 上传
2024-05-10 上传
2024-05-22 上传
A浪里小白龙A
- 粉丝: 3
- 资源: 9
最新资源
- 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插件介绍