Linux-VI和VIM

目录

VI的使用

VI的三种模式

进入VI

[切换至插入模式(Insert mode)编辑文件](#切换至插入模式(Insert mode)编辑文件)

[Insert 的切换](#Insert 的切换)

退出VI及保存文件

搜索

快捷删除

光标定位到最后一行

VIM查找字符串

全匹配

模糊匹配(正则表达式)

快速查找​​​​​​​


VI的使用

VI的三种模式

命令行模式(command mode): 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
插入模式(Insert mode) :只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
底行模式(last line mode) :将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号......等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

进入VI

在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

复制代码
$ vi myfile 

进入vi之后,是处于「命令行模式(command mode)」,要切换到「插入模式(Insert mode)」才能够输入文字。

切换至插入模式(Insert mode)编辑文件

在「命令行模式(command mode)」下按一下字母"i"就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

也可以点击字母"o",表示进入插入模式,且另起一行。

Insert 的切换

目前处于「插入模式(Insert mode)」,按一下「ESC」键可以转到「命令行模式(command mode)」。

退出VI及保存文件

在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:

: w filename (输入 「w filename」将文章以指定的文件名filename保存)

: wq (输入「wq」,存盘并退出vi)

: q! (输入q!, 不存盘强制退出vi)

搜索

/检索词

大小写敏感

快捷删除

在命令行模式下

比如要删除两行,则按下2dd

比如要删除三行,则按下3dd

光标定位到最后一行

按下shfit+g

VIM查找字符串

全匹配

从上往下查找,比如"string" : /string

从下往上查找,比如"string" : ?string

模糊匹配(正则表达式)

. :通配1个字符 ,如匹配 server, 可以用 /se...r

* :通配多个字符,如匹配 privilege,可以用 p*ge

快速查找

Shift + * :让光标停留在想要查找的单词的任意一个字母上面, 然后输入 Shift + * ,即可快速选中该单词,并且通过 n 或 N 进行上一个或下一个的匹配。

yw :让光标停留在单词的第一个字母上, 然后输入yw拷贝该单词, 然后输入 / (Ctrl + R) 0 (即 /"0),回车, 就查找到了第一个匹配的单词, 并且通过 n 或 N 进行上一个或下一个的匹配。

相关推荐
Johny_Zhao1 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing4 天前
WSL+Cpp开发环境配置
linux
崔小汤呀5 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端