网站首页 > 技术文章 正文
摘要:vi编辑器是所有Unix及Linux系统下标准的编辑器,功能非常强大,丝毫不逊色于其他任何最新的文本编辑器。
Unix及Linux系统的任何版本,vi编辑器是完全相同的,vi也是Linux中最基本的文本编辑器,认真学习领会,就可以在Linux的世界里畅行无阻。
本文只是简单地介绍一下vi的常用用法和一小部分操作指令,辅以实践检验。详细内容请参考下文。
一、VI基础概念
1、查看本本# vi -version
2、两种模式:命令行模式和插入模式
命令行模式(command mode):控制屏幕光标的移动,字符、字或行的删除、移动复制某区段、文件的保存或退出vi及进入插入模式(Insert mode)。
插入模式(Insert mode):只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
二、VI基本操作
1、使用vi编辑文件# vi filename
注意:打开vi编辑文件后,一开始是处于【命令行模式(command mode)】,需要切换到【插入模式(Insert mode)】才能够输入文字。
2、切换插入模式(Insert mode)编辑文件
注意:在【命令行模式(command mode)】下按一下字母【i】就可以进入【插入模式(Insert mode)】,这时就可以开始输入文字。
3、插入模式与命令行模式之间的切换
说明:处于【插入模式(Insert mode)】,只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,就要先按一下【ESC】键转到【命令行模式(command mode)】再删除文字。
4、退出VI及保存文件
说明:在【命令行模式(command mode)】下,按一下【:】冒号键进入【命令行模式(command mode)】。比如:
: w filename (输入 【w filename】将文章以指定的文件名filename保存)
: wq (输入【wq】,存盘并退出vi)
: q! (输入【q!】, 不存盘强制退出vi)
三、命令行模式(command mode)功能键
1、插入字符
2、切换模式
按【ESC】键可以从插入模式切换为命令行模式
3、命令行删除字符的使用说明
【x】:每按一次,删除光标所在位置的"后面"一个字符。
【#x】:比如输入【8x】表示删除光标所在位置的"后面"8个字符。
【X】:大写的X,每按一次,删除光标所在位置"前面"一个字符。
【#X】:比如输入【8X】表示删除光标所在位置"前面"8个字符。
【dd】:删除光标所在行。
【#dd】:比如输入【8dd】从光标所在行开始删除8行。
4、命令行复制字符的使用说明
【yw】:将光标所在之处到字尾的字符复制到缓冲区中。
【#yw】:比如输入【8yw】复制光标所在之处后面的8个字符到缓冲区。
【yy】:复制光标所在行到缓冲区。
【#yy】:比如输入【8yy】表示拷贝从光标所在的该行"往下数"6行文字。
【p】:将缓冲区内的字符贴到光标所在位置。
注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。
5、命令行替换字符的使用说明
【r】:替换光标所在处的字符。
【R】:替换光标所到之处的字符,直到按下【ESC】键为止。
6、回退操作
【u】:如果您误执行一个命令,可以马上按下【u】,回退上一个操作。按多次"u"可以执行多次回退。
四、其他VI命令列表
除了上述介绍的常用功能键外,下表再整理出命令行模式下的一些其他功能键的使用说明。详细内容如下:
常用键 | 使用说明 |
h | 左移光标一个字符 |
l | 右移光标一个字符 |
k | 光标上移一行 |
j | 光标下移一行 |
^ | 光标移动至行首 |
$ | 光标移动至行尾 |
Ctrl+f | 向前翻屏 |
Ctrl+b | 向后翻屏 |
/或? | 查找,在/后输入要查找的内容 |
n | 与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。 |
Set nu | 显示行号 |
猜你喜欢
- 2025-07-06 这个办法能够让家里的旧手机安装docker并成功运行!免root安装!
- 2025-07-06 2022年即将生效的防止空气污染规定,请查收
- 2025-07-06 纯干货 | 四六级核心词500词第七组50词
- 2025-07-06 群晖 Container Manager 无法通过代理拉取镜像的完整解决流程
- 2025-07-06 Centos7修改网卡固定IP地址(centos7修改网卡配置文件)
- 2025-07-06 # linux 中使用 visudo 命令,怎么保存退出?
- 2025-07-06 驰为Vi8 双12全球首发(驰为vi8 hi8)
- 2025-07-06 Hadoop集群搭建及Hive的安装与使用
- 2025-07-06 学习数据结构--第五章:图(图的存储方法)
- 2025-07-06 成功安装 Magento2.4.3最新版教程「技术干货」
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 530℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 494℃MySQL service启动脚本浅析(r12笔记第59天)
- 473℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 470℃启用MySQL查询缓存(mysql8.0查询缓存)
- 451℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 430℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 427℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)