5. Vim文本编辑器

本文详述了Vim编辑器的安装、与Vi的关系、三种工作模式、基本操作、光标移动、撤销恢复、可视化模式、多窗口编辑、批量注释、行号显示以及在Vim中执行Linux命令等核心功能,旨在帮助Linux初学者掌握这款强大的文本编辑器。
摘要由CSDN通过智能技术生成

目录

5.1 Vim及其安装

Vim 的安装

5.2 Vi和Vim之间到底有什么关系?

5.3 Linux Vim三种工作模式

Vim的命令模式

Vim的输入模式

Vim 的编辑模式

5.4 Linux Vim基本操作

Vim 打开文件

使用 Vim 进行编辑

Vim 保存退出文本

5.5 Vim移动光标命令汇总

Vim快捷方向键

Vim光标以单词为单位移动

Vim光标移动至行首或行尾

Vim光标移动至指定字符

Vim光标移动到指定行

Vim光标移动到匹配的括号处

5.6 Linux Vim撤销和恢复撤销快捷键

5.7 Linux Vim可视化模式

5.8 Vim多窗口编辑模式

5.9 Linux Vim批量注释和自定义注释

5.10 Vim显示行号

5.11 Vim配置文件(.vimrc)详解

5.12 如何在Vim中执行Linux命令?


 

5.1 Vim及其安装

通过前面的学习我们知道,Linux 系统中“一切皆文件”,因此当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器。

作为一名 Linux 初学者,你必须熟练掌握 Linux 中至少一款文本编辑器的用法。对文本编辑器的功能(如查找、剪切和粘贴)了解越多,对你越有帮助。

可供选择的编辑器不止一种,例如 Vim、emacs、pico、nano 等,很多人都找到了自己所喜爱的编辑器。综合考虑各种因素,本套 Linux 教程建议初学者学习 Vim 文本编辑器。

Vim文本编辑器,是由 vi 发展演变过来的文本编辑器,因其具有使用简单、功能强大、是 Linux 众多发行版的默认文本编辑器等特点,成功圈住了很多人成为其死忠粉丝。

关于 vi 和 Vim 之间的区别和联系,后续会进行详细介绍,这里不再赘述。

Vim 的安装

众多 Linux 发行版系统,通常都已经默认安装好了 vi 或 Vim 文本编辑器,Centos 也不例外,该系统就默认安装有 vi 文本编辑器,但建议大家使用 Vim。

如果在命令行模式下输入“vim”,输出结果为“Command not found”,则表示此系统中未安装 Vim。

CentOS 系统中,使用如下命令即可安装 Vim:

yum install vim

需要注意的是,此命令运行时,有时需要手动确认 [y/n],如图 1 所示:



图 1 安装过程

遇到此情况,选择 “y” 即可。

如果你想省略手动输入“y”的过程,希望全自动安装,可以使用如下这条命令:

yum -y install vim

有关 yum 的使用后续章节会进行详细介绍,此处不用深究。

当命令行中输入“Vim”显示如图 1 所示的画面时,视为 Vim 安装成功。


Vim 安装成功界面
图 1 Vim 安装成功界面

 

5.2 Vi和Vim之间到底有什么关系?

 

我们知道,Vi 编辑器是 Unix 系统最初的编辑器。它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行、在文件中移动、插入、编辑和替换文本。

尽管 Vi 可能是世界上复杂的编辑器(讨厌它的人是这么认为的),但其拥有的大量特性使其成为 Unix 管理员多年来的支柱性工具。

在 GNU 项目中,程序员在将 Vi 编辑器移植到开源世界的同时,决定对其作一些改进。由于改进后的 Vi 不再是以前 Unix 中的那个原始的 Vi 编辑器了,开发人员也就将它重命名为“Vi improved”,也就是 Vim。

GNU 项目,英文全称为“GNU is Not Unix”,简单的说,就是一个开发类 Unix 操作系统的项目,GNU 操作系统是由 GNU 软件包及其第三方的免费软件包组成,所以其最大的特点就是免费。

因此可以这样说,Vim 是由 Vi 发展演变过程的文本编辑器,因其具有语法高亮显示、多视窗编辑、代码折叠、支持插件等功能,已成为众多 Linux 发行版本的标配,本教程强烈建议大家系统地学习 Vim。

有读者可能会问,Linux 系统中的文本编辑器有很多,例如 emacs、pico、nano、joe 等等,为什么一定要学 Vim 呢?

推荐使用 Vim 文本编辑器的原因有很多,比如说:

  • 几乎所有的Linux 发行版都内嵌有 Vim 文本编辑器,而其他的编辑器则不一定存在;
  • 在使用 Linux 系统过程中,很多软件的编辑接口都会默认调用 Vim 文件编辑器,例如 crontab、Visudo、edquota等命令;
  • Vim具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计;
  • 使用 Vim 文本编辑器,编辑速度会更快。


所有原因中,最主要的还是第 2 条,就是因为有太多 Linux 命令会默认调用 Vim 作为编辑数据的接口,所以建议初学者学会 Vim。

 

 

5.3 Linux Vim三种工作模式

 

通过前面的学习我们知道,Linux 系统中所有的内容都以文件的形式进行存储,当在命令行下更改文件内容时,常会用到文本编辑器。

我们首选的文本编辑器是 Vim(至于为什么,可查看《Vi和Vim的区别和联系》一节)。使用 Vim 编辑文件时,存在 3 种工作模式,分别是命令模式、输入模式和编辑模式,这 3 种工作模式可随意切换,如图 1 所示。



图 1 Vim 的三种工作模式

Vim的命令模式

使用 Vim 编辑文件时,默认处于命令模式。此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

图 2 所示是在 CentOS 6.x 系统中 Vim 处于命令模式的状态示意图。


Vim 处于命令状态
图 2 Vim 处于命令状态

Vim的输入模式

在输入模式下,Vim 可以对文件执行写操作,类似于在 Windows 系统的文档中输入内容。

使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。
 

表 3 各插入命令的具体功能
快捷键 功能描述
i 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令
o 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a 在当前光标所在位置之后插入随后输入的文本
A 在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行a命令
 


图 4 所示即为 Vim 处于输入模式状态下的示意图。


Vim处于输入模式
图 4 Vim 处于输入模式

Vim 的编辑模式

编辑模式用于对文件中的指定内容执行保存、查找或替换等操作。

使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。

指令执行后 Vim 会自动返回命令模式。如想直接返回命令模式,按 Esc 即可。

图 4 所示为 Vim 进入编辑模式后的状态。


Vim进行编辑模式
图 4 Vim 进行编辑模式


对于新手来说,经常不知道自己处于什么模式。不论是自己忘了,还是不小心切换了模式,都可以按一次 Esc 键返回命令模式。如果你多按几次 Esc 键后听到"嘀————"的声音,则代表你已经处于命令模式了。

 

 

5.4 Linux Vim基本操作

 

Vim三种工作模式》一节给大家详细介绍了 Vim 的 3 种工作模式,本节来学习如何使用 Vim 编辑文件。

首先学习如何使用 Vim 打开文件。

Vim 打开文件

使用 Vim 打开文件很简单,例如在命令行模式下打开一个自己编写的文件 /test/vi.test,打开方法如下:

[root@itxdl ~]# vim /test/vi.test

刚打开文件时 Vim 处于命令模式,此时文件的下方会显示文件的一些信息,包括文件的总行数和字符数,以及当前光标所在的位置等,此时可以使用插入命令进入输入模式对文件进行编辑,如图 1 所示。



图 1 Vim 打开文件

 

除此之外,我们还可以利用下表中打开文件的命令格式,针对特定情形使用适当的打开方式,可以大大提高我们的效率。
 

表 2 Vim 打开文件的快捷方法
Vi 使用的选项 说 明
vim filename 打开或新建一个文件,并将光标置于第一行的首部
vim -r filename 恢复上次 vim 打开时崩溃的文件
vim -R filename 把指定的文件以只读方式放入 Vim 编辑器中
vim + filename 打开文件,并将光标置于最后一行的首部
vi +n filename 打开文件,并将光标置于第 n 行的首部
vi +/pattern filename 打幵文件,并将光标置于第一个与 pattern 匹配的位置
vi -c command filename 在对文件进行编辑前,先执行指定的命令

使用 Vim 进行编辑

同样,Vim 提供了大量的编辑快捷键,主要可分为以下几类。

Vim 插入文本

从命令模式进入输入模式进行编辑,可以按下 I、i、O、o、A、a 等键来完成,使用不同的键,光标所处的位置不同,如表 3 所示。
 

表 3 插入文本
快捷键
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值