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。