购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 VIM的使用

VIM是“Visual Interface Improved”的简称,是Linux最常用的文本编辑器。VIM可以完成文本的输入、删除、查找、替换、块操作等功能。用户还可以根据需要对其进行定制,使用插件扩展VIM的功能。本节将讲述VIM的使用方法。

3.1.1 VIM的启动

在使用VIM之前,需要在终端中输入“vim”命令启动VIM。按照下面的步骤可以启动VIM文本编辑器。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个系统终端。

②在终端界面中输入“vim”命令,然后按“Enter”键,系统会启动VIM。VIM的工作界面如图 3.1 所示。

图3.1 VIM的工作界面

3.1.2 在桌面上创建VIM启动器

Linux系统中的启动器相当于Windows系统中的快捷方式。除了可以在终端中用命令来启动VIM之外,也可以在桌面上新建一个VIM启动器,双击启动器的图标也可以启动VIM。

①右键单击桌面上的空白部分,然后单击“新建启动器”选项出现“Create Launcher”对话框,如图 3.2 所示。

②在“名字”文本框中输入启动器的名称“vim”,在“命令”文本框中输入启动命令“vim”,然后选择“在终端中运行”复选框,再单击“图标”按钮,为启动器选择一个图标,最后单击“确定”按钮。

③桌面上创建的VIM启动器如图 3.3 所示,双击这个启动器图标可以启动VIM。

图3.2 新建启动器

图3.3 桌面上的VIM启动器

3.1.3 VIM的工作模式

VIM的工作模式指的是VIM的不同使用方式。VIM有普通(normal)模式、插入(insert)模式和可视(visual)模式 3 种工作模式,3 种模式的表现形式与功能如下。

● 普通模式:在进入VIM后,默认是普通模式,这时可以输入一些命令,如图 3.1 所示就是VIM的普通模式。在普通模式下,可以在一个冒号的后面输入一个命令,按“Enter”键执行这个命令。

● 插入模式:在普通模式下,按“I”键或者“A”键,则进入插入模式,这时所有的输入是VIM的编辑内容。输入结束后,按“Esc”键,可以返回普通模式。

● 可视模式:在普通模式下,按“V”键则进入可视模式,在可视模式下主要进行复制、粘贴操作。按“Esc”键,可以返回普通模式。

VIM的 3 种工作模式与切换方法如图 3.4 所示。

图3.4 VIM的3种工作模式与切换方法

3.1.4 保存与打开文件

VIM中保存文件的命令是“:w”,打开文件的命令是“:r”。本节将讲解在VIM中用命令保存与打开文件。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个系统终端。在终端中输入“vim”命令,按“Enter”键打开VIM。

注意: VIM是在终端中打开的。VIM上的菜单命令都是终端的菜单命令,单击VIM上的菜单命令都是对终端进行操作。

②这时VIM是普通模式。按“I”键进入插入模式,其工作界面如图 3.5 所示。在VIM中输入下面的句子。

图3.5 在VIM中输入文本

③按“Esc”键返回普通模式。这时输入下面的命令,将文件保存到“/root”文件夹下,文件名为“vim1.txt”。

VIM会显示下面的提示信息。

表示新建了文件“vim1.txt”,有 3 行文本、48 个字符。

④再次输入“w /root/vim1.txt”命令,将以同样文件名保存文件,VIM会有以下提示。

VIM提示有重名文件,可以在命令后面添加“!”覆盖以前的文件。命令如下所示。

⑤输入“:q”命令退出VIM,VIM显示信息如下所示。信息的含义是最后的编辑没有保存,可以在命令后面添加“!”强制退出。

⑥保存并退出VIM。输入“:wq”命令,再按“Enter”键,VIM会保存文件并退出VIM。

⑦再次在终端中输入“vim”命令,按“Enter”键打开VIM。

⑧打开的VIM默认是普通模式。输入下面的命令打开前面编辑的文件。

⑨这时VIM会读入一个文件并显示。按“I”键进入插入模式,编辑以前的文件。

⑩按“Esc”键返回普通模式。输入“:q”命令退出VIM,这时VIM提示文件没有保存。输入“:q!”命令可以不保存文件退出VIM。

在终端中可以输入“vim /root/vim1.txt”命令来启动VIM并打开一个文件。

3.1.5 移动光标

VIM中的移动指的是在VIM中移动光标的位置。在 3 种模式下,都可以按键盘上的上、下、左、右方向键进行移动。VIM在方向键的基础上提供了更多、更快的移动方式,这些移动方式可以分为下面几类。

● 字符移动:每次向前或向后移动一个字符的位置。

● 单词移动:每次向前或向后移动一个单词的位置。

● 行移动:每次向上或向下移动一整行。

● 页面移动:每次向上或向下移动一页。

由于篇幅原因,这里就不再详细介绍了,请读者自己在使用中实践。

3.1.6 常用操作

在VIM中有 7 种常用操作,如果使用记事本的话,那么读者对这些操作一定不陌生,不过在VIM中都是通过命令方式进行的。

(1)插入

插入指的是在光标位置的前后行或前后字符处插入新行或新字符,也可能是删除指定数目的行或字符,然后输入新的内容。插入命令如表 3.1 所示。需要强调的是,这里的命令操作都是在普通模式下进行的。

表 3.1 插入命令

在普通模式下键入“i”命令以后,VIM就会在窗口底部显示“--Insert--”提示,这表明用户可以在光标处输入内容。此时按“Esc”键,会返回普通模式。“a”命令用来在当前光标处追加内容,“o”命令可以在当前行的下面新起一行,在新行中输入内容。

(2)删除

VIM可以使用命令对光标处字符进行删除,也可以对单词、整行进行删除。删除命令如表 3.2 所示。

表 3.2 删除命令

使用x命令可以删除光标处的一个字符,使用命令参数 4x可以删除 4 个字符。使用dw命令可以删除一个单词,其中的“w”可以看做是向右移动一个单词的距离。d命令后面可以跟任何一个位移命令,它将删除从当前光标起到位移的终点处的文本内容。于是,do命令就是删除当前行光标以前所有的内容,d$命令就是删除当前行光标以后的内容,ndd命令就是删除当前行及其后 n −1 行的内容。

(3)取消

在编辑时,如果由于错误操作而修改了原有的文本,则可以使用取消命令来取消之前的修改操作。VIM也可以多次取消以前的操作。常用的取消命令,如表 3.3 所示。

表 3.3 取消命令

使用U命令会一次撤销对一行的全部操作,第2 次使用U命令则会撤销前一个U命令的操作。连续使用u或句点命令可以多次执行取消或重复上一次操作。

(4)保存

VIM可实现文件保存、另存、覆盖保存、追加保存等操作。保存命令,如表 3.4 所示。

表 3.4 保存命令

使用文件保存命令时,注意需要先输入冒号(:)。使用w命令表示将内容写到某个文件,需要文件已经保存过。如果不指定文件名,则默认保存到正在编辑的文件;指定文件名则会另存为新文件。

(5)退出

VIM在结束工作时需要退出,在退出之前需要对当前编辑的文件进行处理。退出命令如表 3.5 所示。

表 3.5 退出命令

使用q命令直接退出VIM而不保存任何修改。这时,如果用户已经修改了文件,VIM则会提示文件没有保存,不会退出。使用q!命令可以放弃保存并退出编辑。zz命令可以保存当前文件并退出。

(6)查找

/string命令用于搜索一个字符串string,会从光标开始处向文件尾搜索所有的string。? string命令用于从光标开始处向文件首搜索所有的string。需要强调的是,字符. * [ ] ^ % / ? ~ $有特殊意义,如果需要查找的内容中包含这些字符,则要在这些字符前加一个反斜杠“\”对字符进行转义。

n命令在同一方向上重复上一次搜索命令,N命令用于在反方向上重复上一次搜索命令。常用的特殊字符匹配符有以下两个。

● *:在查找的字符串中匹配任意字符。

● ?:在查找的字符串中匹配一个字符。

(7)替换

VIM有着强大的替换功能,除了可以进行字符串替换以外,还可以使用正则表达式进行替换。常用的替换命令如下。

● s/p1/p2/g:将当前行中所有字符串p1 用字符串p2 替换。

● n1,n2s/p1/p2/g:将第 n 1~ n 2 行中所有字符串p1 用字符串p2 替换。

● g/p1/s//p2/g:将文件中所有p1 均用p2 替换。

3.1.7 选项设置

VIM编辑器可以用set命令来设置一些特定的选项来定制编辑环境。表 3.6 列出了set命令的部分选项。

表 3.6 set命令的部分选项

续表

如果要查看所有选项的设置,在普通模式下输入命令“:set all”,VIM会显示VIM的详细配置列表。如果要改变某个设置,可以输入命令“:set option(= value)”。其中,“option”就是列表中的选项名,选项值“(=value)”根据选项不同是可选的设置。每次进入VIM所有的选项将会被设置为默认值,进入VIM之后对选项的修改只在当前窗口有效。

3.1.8 调用shell命令

在使用VIM编辑文本时,有时需要执行一些shell命令。VIM中使用shell命令的方法如表 3.7 所示。

表 3.7 执行shell命令

例如,在插入模式下需要查看用户目录下的文件,可以按“Esc”键切换到普通模式,然后输入命令“:ls /root”,VIM中就会显示root目录下的文件列表。如果要把文件列表插入当前编辑的文本中,则可以使用“:r!ls /root”命令。 666OuAqA8yc0g2DqYAUK8hSjvyWeEeBk/b5fIou6otyN/BreqLMwE9knsRGkezI0

点击中间区域
呼出菜单
上一章
目录
下一章
×