vi程序是功能强大的文本编辑器。 Sun Microsystems的共同创始人William Joy最初在1976年为Berkeley Software Distribution(BSD)UNIX的早期版本编写了vi编辑器。 有传言说比尔在周末写了vi,但他说这一说法是不正确的。 该程序是用UNIX扩展行编辑器中的visual命令命名的, 例如简称。
vi编辑器是一个功能非常强大的编辑器,具有许多甚至不存在的功能。 Vi是模式编辑器,这意味着当在程序上放置其他设置时,程序会产生不同的结果。 vi中有三种不同的模式: 命令,插入 (或输入 )和行。 在插入模式下操作时,文本将被写入正在编辑的临时文件中。 在正常模式下,相同的击键会触发编辑器中嵌入的命令。 要进入插入模式,只需按I键。 要退出命令模式,请按Escape键。 (我将在本文后面详细解释线路模式。)
例如,在插入模式下,如果您键入字符串10dd ,那么该字符串将被写入临时文件,如图1所示。
但是,如果处于命令方式,则字符串10dd将从当前光标所在的位置开始,从临时文件中删除10行,如图2所示。
另一个例子是光标移动。 在命令模式下,键H,J,K和L分别向左,向下,向上和向右移动光标,如图3所示。在插入模式下,将改为显示这些字母。
通常,UNIX用户使用vi或由Richard Stallman于1976年编写的另一个称为Editor Macros(Emacs)的编辑器。但是,许多用户选择vi,因为它重量轻,启动速度更快且使用的内存更少。
Vim的,或经过改进的vi,是布莱姆·米勒在1991年写的VI的扩展版本的编辑器最初被设计为Amiga计算机,但很快通过UNIX在1992年第六一样蔓延时,Vim是基于命令模式和插入模式作为文本用户界面(TUI)-如图4所示。
但是,它确实提供了一个名为gVim的图形用户界面(GUI),如图5所示。
Vim中的内部命令类似于vi编辑器中的内部命令。 表1提供了Vim中的光标移动命令。
表2显示了删除文本的Vim命令。
表3提供了其他一些有用的Vim命令。
尽管命令和插入模式已被广泛使用,但行模式同样强大,但有时无法完全理解或使用。 行模式进入行编辑器,使您可以处理单行或多行命令。 考虑到vi是用ex编辑器命名的,因此仅适合于行模式将您带入ex编辑器。
进入行模式,从指令模式,简单地键入一个冒号( : )。 然后,光标将移动到窗口的左下角。 当您继续输入时,所有文本都会出现在窗口底部的冒号之后。 当您单击Enter时 ,将评估并执行线路模式命令。 如果您决定不执行以行模式输入的行,请单击“ 转义”以返回命令模式。
使用编辑器的行模式时,请记住两种命令样式。 首先,当您键入命令时,vi或Vim将按原样执行该命令。 如果执行的命令与修改数据有关,则当前行将成为目标。 但是,使用第二种方法,您可以提供行号来处理指定的行。 要输入的线条,在冒号之后,输入线的数字或范围行处理的,用逗号分隔的开始和结束范围( , )。
例如,仅处理第23行,该命令将以:23开头。 如果要修改2319到3819行,请输入:2319,3819 。 要处理从第45行的起始位置到文件末尾的命令,请将最后一行参数替换为美元符号( $ ),即:45,$ 。
以下命令只是可以在行模式下执行的命令的开始:
:w <file name> :将文件写入磁盘。 如果提供了参数,编辑器将尝试将数据写入<文件名>。注意:如果提供参数并且<文件名>存在,则编辑器将不会覆盖现有文件的数据。
:w! <file name> :w! <file name> :将文件写入磁盘并覆盖文件中的所有数据。 :<x>,<y> w <file name> :将<x>至<y>行写入<文件名>。 :q :尝试退出编辑器而不保存。注意:如果数据已被修改,则编辑器将在文件被保存之前退出,或者您不保存即退出。
:q! :退出编辑器,而不尝试将文件写入磁盘。 :n :如果要编辑多个文件,请开始编辑编辑列表中的下一个文件。 :e <file name> :编辑<文件名>。 :e# :如果要编辑两个文件,请在文件之间切换。 :s/<str1>/<str2>/ :用当前行的<str2>替换第一次出现的<str1>。 :1,$ s/<str1>/<str2>/g :从第1行开始,并在整个文件中继续,将<str1>全局替换为<str2>。 :r <file name> :将:r <file name>读入当前的编辑器会话。 :<x>,<y> d :删除<x>至<y>行。 :<x>,<y> y :从 <x>到<y>抽线。尽管vi和Vim确实具有相同的外观和感觉,但是它们肯定具有差异。 以下只是这两个强大的文本编辑器之间的一些区别:
vimscript: Vim使用内部脚本语言vimscript,允许复杂的脚本向编辑器添加扩展功能。 除了vimscript之外,Vim还支持Perl,Python,Ruby,Tcl和其他语言。 vimdiff: Vim软件包捆绑了一个称为vimdiff的有用命令。 使用vimdiff ,您可以将多个文件彼此相邻显示,类似于sdiff ,如图6所示。在图8所示的示例中,使用tar命令将四个ASCII文本文件存档,然后使用Vim选择存档中的第二个文件进行编辑。
既然您已经看到了vi和Vim之间的一些增强和区别,您可能会说:“我想要Vim!在哪里得到的?” 好消息:Vim已被移植到几种不同的操作系统。
以下是一些已移植到Vim的平台:
阿米加 艾克斯 BSD 西格温 IBM OS /2® 的Linux Apple Mac OS和Mac OS X Microsoft®MS-DOS® 通过WindowsVista®通过MicrosoftWindows®95 Microsoft Windows CE OpenVMS因此,您在上一节中看到了Vim可用于Windows,现在您说:“我可以在Windows上使用Vim吗?我想要!” 你真幸运!
只需从Vim网站下载已移植到Windows的Vim的最新版本(当前为7.1版)。 最简单的方法是下载自动安装的可执行文件,然后执行该文件并按照步骤进行操作。 安装后,可以右键单击文件,单击“ 用Vim编辑” (如下图11所示,然后violà!现在在Windows中的Vim中编辑文件!
现在,您已经在Windows计算机上安装了Vim,可以享受Vim背后的天才,而不必理会Windows中的所有其他文本编辑器。
vi编辑器开始为UNIX中的文本编辑器铺平道路,而Vim沿着这条道路继续发展。 阅读本文后,我希望您了解了有关Vim编辑器的一些新知识,如何使用其许多功能来使您的生活更轻松,并欣赏作为编辑器这样简单的概念如何被证明是稳定而强大的UNIX世界以及现在大多数其他操作系统中的应用程序。 我相信,如果您不太使用Vim,那么在了解了编辑器的来龙去脉之后,您将同意没有其他编辑器可以进行比较。
翻译自: https://www.ibm.com/developerworks/aix/library/au-speakingunix_vim/index.html
相关资源:微信小程序源码-合集6.rar