Vi与Vim

前言

  上战场之前 ,你要擦亮你的枪!

  上考场之前 ,你要熟悉你的笔!

  学Linux之前,你要了解编辑器!~


认识

vi

Vi,是一款由加州大学伯克利分校,Bill Joy 研究开发的文本编辑器。它是Linux最基本的文本编辑工具

  其实文本编辑器有很多,图形化模式的有gedit、kwrite、Openoffice,文本模式的则有vi和vim了。虽然vi和vim没有图像化编辑器那么简单(它只能是编辑字符,不能对字体、段落进行排版;它既可以新建文件,也可以编辑文件;他没有菜单,只有命令,且命令繁多。),但是它在系统管理、服务管理字符界面中,是不可替代的!

vi 的三种命令模式

模式 命令
Command(命令)模式 用于输入命令
Insert(插入)模式 用于插入文本
Visual(可视)模式 用于视化的的高亮并选定正文

  1.命令模式:
命令模式是启动vi后进入的工作模式,并可转换为文本编辑模式和最后行模式。在命令模式下,从键盘上输入的任何字符都被当作编辑命令来解释,而不会在屏幕上显示。如果输入的字符是合法的vi命令,则vi就会完成相应的动作;否则vi会响铃警告。

  2.文本编辑模式:
文本编辑模式用于字符编辑。在命令模式下输入i(插入命令)、a(附加命令)等命令后进入文本编辑模式,此时输入的任何字符都被vi当作文件内容显示在屏幕上。按Esc键可从文本编辑模式返回到命令模式。

  3.最后行模式:
在命令模式下,按“:”键进入最后行模式,此时vi会在屏幕的底部显示“:”符号年作为最后行模式的提示符,等待用户输入相关命令。命令执行完毕后,vi自动回到命令模式。

vim

Vim是从 vi 发展出来的一个文本编辑器 。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs 并列成为类Unix系统 用户最喜欢的编辑器。
Vim的第一个版本由Bram Moolenaar 在1991年发布。最初的简称是Vi IMitation ,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码 方式下发行的自由软件 。

  vim是从vi派生出来的,但是但是它拥有的编辑模式有很多种,大家简单了解一下!

  1.普通模式

  在普通模式中,用户可以执行一般的编辑器命令,比如移动光标,删除文本等等。这也是 Vim 启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。
Vim 强大的编辑能力中很大部分是来自于其普通模式命令。普通模式命令往往需要一个操作符结尾。例如普通模式命令 “dd” 删除当前行,但是第一个 “d” 的后面可以跟另外的移动命令来代替第二个 “d”,比如用移动到下一行的 “j” 键就可以删除当前行和下一行。另外还可以指定命令重复次数,”2dd”(重复 “dd” 两次),和 “dj” 的效果是一样的。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高 效的进行文本编辑。
在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按 “a”(append/追加)键或者 “i”(insert/插入)键。

  2.插入模式

  在这个模式中,大多数按键都会向文本缓冲 中插入文本。大多数新用户希望文本编辑器编辑过程中一直保持这个模式。
在插入模式中,可以按 ESC 键回到普通模式。

  3.可视模式

  这个模式与普通模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。Vim 的”文本对象”也能和移动命令一样用在这个模式中。

  4.选择模式

  这个模式和无模式编辑器的行为比较相似(Windows标准文本控件的方式)。这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim 会用这个字符替换选择的高亮文本块,并且自动进入插入模式。

  5.命令行模式

  在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(”:” 键),搜索(”/” 和 “?” 键)或者过滤命令(”!” 键)。在命令执行之后,Vim 返回到命令行模式之前的模式,通常是普通模式。

  6.Ex 模式

  这和命令行模式比较相似,在使用 “:visual” 命令离开 Ex 模式前,可以一次执行多条命令。

差别

  vim是从vi发展过来的,vim在很多方面都有差别!

对比 vim vi
多级撤销 可以无限时撤销 按U撤销上次命令
易用性 可用于Unix同时可用于Windows,mac等多种操作系统 只可用于Unix
语法加亮 可用不同颜色加亮代码 没有此功能
可视化操作 可用于终端,也可以运行于x Windows、mac os、 windows 只可用于终端
兼容性

  总的来看,vim在功能和兼容性上都有了很大程度提高!

后记

知识简单了解,不懂也很正常,当你真的用的时候,常回头看看,你会有不一样的收获!加油!

你可能感兴趣的:(Vi与Vim)