1. 学习vi 的目的
一款在终端中使用的编辑器,叫做vi,首先来明确一下为什么要学习vi ,当走向工作岗位之后,经常会使用ssh远程登录到服务器,对服务器进行管理和维护.
但是在对服务器进行管理和维护的时候,经常会需要对服务器上的某些文件进行修改,而ssh 不能够使用图形界面软件,.
但是当使用ssh远程登录到服务器上之后,需要对服务器上的文件进行修改,那同学们试想一下,就不能够使用图形编辑软件来修改文件了.
譬如要修改一个python 的源程序, 或者修改一个ssh的配置文件,既然不能使用图形编辑软件,那应该怎么做呢?这就是要学习vi的目的.
在没有图形环境下, 要编辑一个软件,vi 是最佳的选择,因此每一个Linux程序员都应该或多或少的学习一些vi的常用命令.
因为只有掌握了vi的基本使用之后,在工作中如果需要对服务器上的文件进行简单的修改,才能够轻松完成工作.
一句话讲, vi就是在终端中使用的一个编辑软件,当使用ssh远程登录到服务器上之后,需要对服务器上文件进行编辑和修改,vi是最佳的选择.
2. vi 和vim 以及vi 的特点
先简单介绍一下vi 这个编辑器的基本特点, vi 可以说是Linux 中最经典的一个文本编辑器,之所以说它经典有两个原因,第1个原因, vi这个编辑器从诞生到现在差不多有40年的时间,历史非常的悠久,那第2个原因呢,经过了将近40年的发展,在今天仍然有非常多的Linux程序员, 在做日常开发时,会选择vi这个编辑器来编写的代码.
现在有非常多功能强大的图形编辑软件,但是仍然会有很多的Linux 程序员选择vi来做日常的开发, 归根结底就是一个字, 快.
使用vi来编写代码速度快,之所以vi在编写代码的时候速度快。看一下下面这张截图,就是因为vi的设计者在设计vi的时候的一个核心思想, 设计者希望程序员把手指放在键盘的核心区域就可以完成对一个文件的所有编辑工作.
手指不需要离开, 所有的事情轻松搞定,这样就是vi的核心设计思想.
vi的设计者认为程序员把手指从核心区域到方向键来回移动, 是一个非常影响效率的事情,在使用vi的时候,只需要把手指放在核心区域,不使用方向键同样也可以移动光标.
接下来看一下vi 的特点, vi第1个特点就是没有图形界面, 之所以要学习vi,就是因为在使用ssh远程登录到服务器,希望对文件进行编辑工作时,需要在终端中对文件进行编辑, 所以vi是没有图形界面的,只是在终端中使用的一个编辑软件.但是vi的功能非常非常强大.
vi只支持编辑和修改文本的内容,vi不是一个排版软件,所以不要期望vi能够像word那样来修改字体,对段落进行排版,vi只是一个编辑文本内容的编辑器而已.
vi 不支持鼠标操作,vi连方向键都不用,意味着在图形界面下习惯的鼠标操作, 同样也可以保证手指停留在键盘的核心区域, 就可以达到相同的效果.
vi 没有菜单,在使用图形软件时,经常有个习惯, 来查找一下菜单中提供的对应功能.但是vi在使用时,既不能使用鼠标, 也没有提供菜单,始终把手指放在键盘上就可以完成所有的事情了.
vi中只有命令, 所谓命令,就像在使用图形软件时使用的快捷键一样, CTRL c是复制, CTRL v是粘贴,而类似的快捷键在vi中就叫做命令.
只需要把手指放在键盘上就可以完成对一个文本文件所有的编辑功能了,这个就是vi的特点.
另外一个软件vim,vi和Vim是两个不同的软件,但是Vim是从vi发展出来的一个文本编辑器.
之所以从vi发展起来,就是vim中支持所有的vi编辑功能,但是vim 又针对程序员的开发, 专门提供了程序员日常开发工作中需要的专门提供的代码补全, 编译等等这些特殊的功能, 所以vim 才是程序员真正喜欢的一个编辑软件,并且广大的程序员给这款软件起了一个非常牛叉的外号,编辑器之神.
说明它的编辑功能还是非常强大的.
因为vi和vim这两款软件的历史都已经非常悠久了,而现在绝大多数的Linux程序员在日常工作中都会首选vim 而不会使用vi,所以呢,在很多Linux发行版本中啊,会把vi直接做成vim 的软连接.
软连接就是一个软件的快捷方式, vi既然是vim 的快捷方式,意味着在终端中输入vi这个命令, 打开的就是vim 这个编辑器之神.



