linux 中 Vi 和 Vim 的使用

Vi (Visual Interface)是 Linux下基于Shell 的文本编辑器,Vim (Visual Interface iMproved)是 Vi的增强版本,扩展了很多功能,比如对程序源文件的语法高亮。不管是 Vi 还是 Vim,我们习惯上都管它叫 Vi,但实际上用的更多的是 Vim。

在你的系统里用 alias命令看一下 vi,可以发现用到的其实是vim。

|-----|----------------------------------------|
| 1 2 | $``alias vi alias vi``=``'vim' |

所有的Linux系统里会内建 Vi,它就像 Windows里的记事本,我们一般修改系统的配置文件都要用到它,所以虽然第一次用会可能不太习惯,但是我们还是要学会使用它。

用 Vi 打开或者新建一个文件只需要输入命令 vi +文件名就可以了,然后就进入了Vi的界面。比如用 Vi打开一个hello.c的文件,命令如下:

|---|----------------|
| 1 | vi hello.c |

因为 Vi 是完全基于 Shell 的,它和 Windows下的编辑器不同,分为三种模式:

对于三种不同模式之间的切换,我做了一张图方便大家记忆,可以看到命令模式是枢纽,在插入模式和末行模式之间切换需要先进入命令模式。

一、命令模式

启动 Vi 后会默认进入命令模式。在命令模式下可以看到最下面有一些信息,比如 "hello.c" 是我们当前编辑的文件名,7L 表示共有 7 行,112 C表示共有 112 个字符。1,1 表示当前光标的位置。

在命令模式下,可以完成的功能主要有:

1、光标移动

2、复制、粘贴、删除

3、查找

4、撤消

二、插入模式

插入模式就是我们正常输入或者修改文件内容的模式了,切换方法有三种:

1、输入 i : 在当前光标输入

2、输入a:在当前光标后输入

3、输入o:在下方插入新的一行

在插入模式下,界面最下方会提示 -- INSERT --

三、末行模式

在命令模式下输入 ":" 可以切换到末行模式,在末行模式下,界面最下方有":"提示,这里可以输入我们的命令。

Vi 可以支持的命令非常的多,这里列出几个比较常用的供大家参考:

1、 替换

如果/g 和 /c 要合并使用,可以写成 /gc

2、保存/退出

3、其他命令

Vi 看起来比较复杂,支持的命令也很多,其实最常用的也就几个。Vi的操作靠的是肌肉记忆,把本文中的掌握住基本就够了。

相关推荐
雯宝2 小时前
mnt_init 函数
linux
律宏阔8 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔8 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴8 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千8 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei378 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei378 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei378 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh8 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
GeW8 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux