vim编辑器的使用【vim常用指令介绍】

1.1 vim 简介

vim 编辑器最初是 vi 编辑器,vi 编辑器是 Unix 系统最初的编辑器。允许查看文件内容和在文件中移动、插入、编辑和替换文本。后来开发人员对它做了一些改进。并重命名为 vim。

1.2 学习 vim 的理由

因为几乎任何一个发行版都有 vi/vim 编辑器,在嵌入式 linux 上,通常也会集成 vim 编辑器,所以说 vim 编辑器大部分的版本都是支持的,所以就要学习 vim。

1.3 vi 和 vim 的关系

vim 是 vi 的加强版,vi 的命令基本全部可以在 vim 上使用,而且比 vi 使用起来更加容易。因为这两个是一样的,所以在后面的学习中,不对 vim 和 vi加以区分。

1.4 打开 vim 编辑器

打开控制台,输入以下命令:

复制代码
vi test.txt

这里的文件名为 test.txt,这样就打开了文本编辑器。如果打开的文件不存在,它会新建一个文件,而文件存在,会直接打开,例如我们想要打开位于桌面的test.txt文件,该文件中的内容如下图所示。

我们在终端中输入 vim test.txt 即可打开,如下两张图所示。


1.5 vim编辑器的三种模式

vim三种模式分别为:一般模式、插入模式、命令行模式。三种模式之间的关系如下图所示。

1.6 vim编辑器移动光标

在 vim 编辑器中,由于没有图形界面,所以不能通过鼠标来移动光标,光标的移动是通 过上下左右按键来实现的,如果使用的键盘是没有上下左右按键的小键盘,可以使用键盘上的 H J K L 按键来完成光标的移动。每个按键对应的功能如下图所示:

1.7 vim编辑器支持快速定位

在一般模式下双击键盘上的 g ,对应的功能为定位光标到第一行。 在一般模式下点击键盘上的 G ,对应的功能为定位光标到最后一行。 如果想要定位到具体的行数,可以在一般模式使用 ngg ,以移动光标到第 3 行为例子, 则输入 3gg 或者 3G。
nG 将光标定位到第n行

1.8 vim编辑器的文本的复制和粘贴

下面讲解 linux 中文本的复制和粘贴操作。 首先是单行内容的复制,在一般模式下,将光标移动到要复制内容的行首,然后按字母 y/Y 进行复制,接着把光标移动到要粘贴的地方,点击字母 p 来进行粘贴 。

如果要复制多行内容,先将光标移动到要复制内容的行首,然后按字母 v ,左下角会出现 VISUAL ,然后使用键盘的上下左右按键选择要复制的文本,选择完成之后,按字母 Y/y 进行文本的复制。

1.9 vim编辑器使用快捷键来复制

也可以双击字母 y 来进行内容的复制,然后将光标移动到要复制的地方输入字母 p 来进行单行的复制,如下图所示:

而如果想复制多行,也可以使用 nyy 命令来完成,该命令是复制当前行及以下行的 n 行,比如要复制 4 到 6 行,3 行的内容,输入命令 3yy ,然后把光标移动到第 n 行,输入字母 p,这样就把内容粘贴在第 n+1 行的位置上了,如下图所示。

注:在 windows 上使用的复制粘贴命令分为"ctrl+c""ctrl+v",而在 ubuntu 中除了上面 两个小节所讲述的方法,在 ubuntu 中使用鼠标进行内容的框选,然后使用复制命令 "ctrl+shift+c",最后输入"ctrl+shift+v"快捷键也可以进行粘贴。

1.10 vim编辑器的删除

dd 命令是删除光标所在行内容,以删除第八行为例,在一般模式下,将光标移动到第八 行,然后双击 d ,那么第8行就被删掉了。

同样可以使用 ndd 命令来删除多行,比如删除第 9 到 11 行内容,可以直接将光标移动到第九行,输入命令 3dd,则这 3 行内容就被删掉了。

也可以删除指定范围行的内容,命令格式为 n1,n2d ,该命令需要在命令行模式下输入。 以删除第 1 行到第 6 行的内容为例,首先点击"冒号"进入命令行模式,然后输入 1,6d,然 后输入回车,这样 1-6 行就全被删掉了。

1.11 vim编辑器的撤销

在一般模式下,输入字母 u 来撤销之前的内容,进行内容的回退。 反撤销是 ctrl+r 。撤销和反撤销都是一般模式下进行的。

1.12 vim编辑器的查找

在 ubuntu 的 vim 编辑器中,查找命令是通过 / 或者 ?来实现的。以查找"da"内容为例,现首先进到了命令行模式,点击字符"/"并输入 da 。输入完成之后敲击回车,就会找到"da" 了。查找完成之后点击字母"n",会向下查找内容,而"/"和"?"查找的区别在于,"/"为向下进行查找内容,而"?"向上进行内容的查找。

1.13 vim编辑器的替换

替换命令的格式为 %s /old/new/g 。

以 "nihao" 替换成 "zaima" 内容为例子 , 首先进入到命令行模式 ,输 入 %s /nihao/zaima/g,然后点击回车进行内容的确定。

1.14 vim 编辑器的保存

q ! :强行退出

wq :保存退出

w : 保存但不退出

q :退出没有编辑过的文本【如果想直接退出,即只是浏览了文件中的内容,但并没有对文件进行编辑】

直接输入冒号进到命令行模式,如果想要保存退出,直接输入 wq ,然后回车,这样就保存退出了。

1.15 vim编辑器文件的对比

vimdiff file1 file2 file3

vim 编辑器可以进行文件的对比,使用的命令为 vimdiff。

相关推荐
皆过客,揽星河8 分钟前
Linux上安装MySQL8详细教程
android·linux·hadoop·mysql·linux安装mysql·数据库安装·详细教程
青草地溪水旁30 分钟前
Unix/Linux 系统中的 `writev` 系统调用
linux·unix·writev
Justin_191 小时前
Linux-Shell编程之sed和awk
linux·运维·服务器
Akshsjsjenjd1 小时前
深入理解 Shell 循环与函数:语法、示例及综合应用
linux·运维·自动化·shell
塔中妖1 小时前
【华为OD】Linux发行版的数量
linux·算法·华为od
半桔2 小时前
【Linux手册】消息队列从原理到模式:底层逻辑、接口实战与责任链模式的设计艺术
java·linux·运维·服务器
华纳云IDC服务商2 小时前
Linux服务器的系统安全强化超详细教程
linux·服务器·系统安全
衍余未了2 小时前
k8s镜像推送到阿里云,使用ctr推送镜像到阿里云
linux·运维·服务器
yiqiqukanhaiba2 小时前
Linux编程笔记1-概念&数据类型&输入输出
linux·运维·服务器
乌萨奇也要立志学C++2 小时前
【Linux】进程概念(一):从冯诺依曼体系到 PCB 的进程核心解析
linux·运维·服务器