ROS机器人编程零基础入门与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6 vim编辑器使用

vim是Linux系统中著名的文本/代码编辑器之一,它运行在终端中,不依赖图形化界面。虽然现在已经有很多很方便的图形化文本编辑软件,例如Ubuntu下的gedit等,但是在操作Linux系统时还是会有无图形桌面的情况,例如通过ssh远程登录机器人,这时只有一个命令行可以操作,如果需要做修改一些配置文件之类的文本编辑工作,就需要一个能在终端中运行的文本编辑器,这时候vim就可以派上用场了。

vim的可扩展性非常强,通过各种插件几乎能胜任所有的文本或代码编辑工作,现在依然有开发者使用vim作为代码开发的主力工具。

建议读者学习vim时掌握基本的编辑、保存操作就可以了,只需要保证在非用它不可时能完成简单的文本修改工作即可,后文中也只会使用它来完成一些很轻量的文本编辑工作。有大量文本需要编辑或者代码开发时,推荐使用更符合用户使用习惯的图形化文本编辑器或者IDE工具来完成。

使用vim首先要了解vim的两种工作模式(也有说法是三种、四种模式,这里使用最简单的分类,即分为两种),分别是命令模式和插入模式。在命令模式下,vim所接收到的键盘输入将作为命令去执行,插入模式下接收到的输入则是在编辑文本。

vim编辑器的工作模式和工作模式切换如图1-48所示。首先通过vim或vim+[文件名]进入vim编辑器,如果文件名对应的文件存在,则会打开文件,如果文件不存在,则创建一个文件然后打开。进入vim时默认的是命令模式,可以通过按〈I/A/O〉键中任意一个来切换到插入模式。在插入模式下,终端的左下角将会显示“--INSERT--”字样,此时输入的字符将作为文本内容显示在终端中,上下左右键可以移动光标在文本中的位置,输入完成后按下键盘上的〈Esc〉键将会退回到命令模式。命令模式中有以下几个常用的命令。

图1-48 vim的工作模式和工作模式切换

:q为退出,仅适用于未对文本内容做修改时的退出;如果文本内容有修改,则需要保存后退出或使用下面的命令来强制退出。

:q!为舍弃对文本内容的修改退出。

:w为保存。

:wq为保存并退出,相当于:w和:q的组合,也是最常用的命令。

实验:将当前工作目录切换为‘~’,尝试在终端中输入以下命令。

vim test,创建test文件并使用vim打开它。

按下键盘上〈I/A/O〉键中任意一个将vim切换为插入模式。

在插入模式下输入“Hello World”,按〈Enter〉键换行,再输入“Hello vim”,通过上下左右键移动文本中的指针,在vim字符段前插入“my”,最终使文本内容如图1-49所示。

图1-49 文本内容

按下键盘的〈Esc〉键退回到命令模式,输入:wq保存并退出。使用文件管理器通过图形化编辑器打开test文件,检查文件内容,实验结束。

使用vim时,最重要的是能正确区分当前所处的模式,初学者使用vim时遇到最多的问题就是没有正确区分vim的工作模式,可能出现尝试在命令模式下编辑文本,发现输入的字符无法在文本中显示,又或者是在插入模式下输入命令却无法退出的情况。

能正确区分工作模式,并记住上面列出的几个常用命令,在后续的章节中基本已经够用,一些能提高操作效率的快捷键操作将在后面用到时结合操作实例再做介绍。