注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小楼一夜听风雨

计算机知识、分子模拟、Linux学习,与您共分享!

 
 
 

日志

 
 

Vi与VIM编辑器  

2010-06-24 15:15:26|  分类: Linux学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

vi 是一种计算机文本编辑器1976年由Bill Joy完成编写,并由BSD发布。< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />

关于vi

vi是“Visual Interface”的缩略词,来源于另外一个文本编辑器ex的命令visual

vi是一种模式编辑器。不同的按钮和键击可以更改不同的“模式”;比如说:在“插入模式”下,输入的文本会直接被插入到文档;当按下“退出键”,“插入模式”就会更改为“命令模式”,并且光标的移动和功能的编辑都由字母来响应,例如:“j”用来移动光标到下一行;“k”用来移动光标到上一行,“x”可以删除当前光标处的字符,“i”可以返回到“插入模式”(也可以使用方向键)。在“命令模式”下,敲入的键(字母)并不会插入到文档,这给新接触vi的用户带来混乱。

在“命令模式”下,多重文本编辑操作是由一组键(字母)来执行,而不是同时按下<Alt><Ctrl>和其他特殊键来完成。更多复杂的编辑操作可以使用多重功能基元的组合,比如说“dw”用来删除一个单词,“c2fa”可以更改当前的光标处中“a”之前的文本。这就是说:对于熟练的vi用户可以更快的操作,因为双手就可以不必离开键盘。

早期的版本中,vi并没有指示出当前的模式,用户必须按下“退出键”来确认编辑器返回“命令模式”(会有声音提示)。当前的vi版本可以在“状态条”中(或用图形显示)。最新的版本中,用户可以在“终端”中设置并使用除主键盘以外的其他键,例如:PgUpPgDnHomeEndDel键。图形化界面的vi可以很好的支持鼠标和菜单。

直到Emacs的出现(1984年以后),vi几乎是所有“黑客”所使用的标准UNIX编辑器。从2006年开始,作为“单一UNIX规范”(Single UNIX Specification)的一部分,vivi的一种变形版本一定会在UNIX中找到。

直到现在,vi仍然被广泛的使用,并且赢得1991年在USENET的票选;viEmacsBulkier版本启动的更快,并且占内存更少。因此,甚至Emacs的追随者又重新使用vi,并且作为邮件编辑器和其他小型编辑工作的首选。1999年著名的O'reilly卖出了比emacs更多的vi参考书。

当救急软盘作为恢复硬盘崩溃的媒介以来,vi通常被用户选择,因为一张软盘正好存储下vi,并且几乎所有人都可以很轻松的使用vi

在编辑器的大战中,viEmacs是作战的双方。

vi琐事

vi的衍生物

  • BSD vi 3.7是现代UNIX系统的移植之一,它使用ed作为字库。
  • 作为ex/vi编辑器,nvi被预安装在第四代BSD上(4BSD)。
  • VimVi IMproved)是一种升级版,类似nvi。在大多数Linux系统中都安装了Vim
  • Elvis是一个免费软件,可以安装在UNIX和其他系统中。
  • Vigor是流行的vi UNIX编辑器版本,含有Vigor助手,被作为对抗Microsoft OfficeClippy

参考

EX commands in vi

Ex is a line editor that serves as the foundation for the screen editor vi. Ex commands work on the current line or on a range of lines in a file.

Syntax of Ex commands
:[address] command [options]

':' specifies an Ex command.

Address
The 'address' specifies the lines number or range of lines that are the object of command.If no address is given, the current line is the object of the command.

< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:office:smarttags" />Address Ranges can be specified in a number of ways in Ex command syntax, examples of this include:

Syntax

Range

 :%

All the lines in the file.

:1,$

All the lines in the file.

:^,$

All the lines in the file.

Commands

Command

Ex Syntax

Operation

Substitute

:%s/str1/str2/g

Substitute str1 by str2 in the Address range specified as whole file.

Copy and Paste

:t8

Copy current line and Paste after Line number 8.

Options

Option

Operation

 !

Specifies the command has to be executed forcefully.

destination

Specifies the Line number where the text is to be pasted.Used with Copy and Move commands.

count

Specifies the number of time command is to be repeated.This number always succeed the command.

fname

Specifies that the object is a file name "fname".

 

个性化viCustomize vi editor

ex command

operation

:set showmode

Show when you are in insert mode.

:set ic

Ignore case when searching

:set noic

Turn ignore case off

:set nu

Turn on line numbering

:set nonu

Turn line numbering off (set nonumber)

:set all

List settings of all options.

:set ai

Set autoindent.Facilitates structured insertion of text.

:set noai

Prevent the autoindent.

:set wrapmargin=2

Set margin for insertion of new line in input mode as 2.

:set autoprint

Display the current line after execution of ex copy, move, or substitute command.

:set window=40

set the number of lines in a vi window as 40.

:set scroll=11

set the number of lines scrolled in a vi window as 11 when <Ctrl> D is pressed.

 

Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

Vim的第一个版本由Bram Moolenaar1991年发布。最初的简称是Vi IMitation,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行的自由软件。

Vim历史

Bram Moolenaar80年代末购入他的Amiga计算机时,Amiga上还没有他最常用的编辑器viBram从一个开源的vi复制Stevie开始,开发了Vim1.0版本。最初的目标只是完全复制vi的功能,那个时候的VimVi IMitation(模拟)的简称。1991Vim 1.14版被"Fred Fish Disk #591"这个Amiga用的免费软体集所收录了。19921.22版本的Vim被移植到了UNIXMS-DOS上。从那个时候开始,Vim的全名就变成Vi IMproved(改良)了。

在这之后,Vim加入了不计其数的新功能。做为第一个里程碑的是1994年的3.0版本加入了多视窗编辑模式(分割视窗)。从那之后,同一萤幕可以显示的Vim编辑文件数可以不止一个了。1996年发布的Vim 4.0是第一个利用图型接口(GUI)的版本。19985.0版本的Vim加入了highlight语法高亮)功能。2001年的Vim 6.0版本加入了代码折叠插件、多国语言支持、垂直分割视窗等功能。2006 5月发布的Vim 7.0版更加入了拼字检查、上下文相关补全,标签页编辑等新功能。现在最新的版本是20088月发布的Vim 7.2,该版本合并了vim 7.1以来的所有修正补丁,并且加入了脚本的浮点数支持。

协议

目前, VIM是按照GPL协议发布的开源软件。它的协议中包含一些慈善条款,建议用户向荷兰ICCF捐款,用于帮助乌干达艾滋病患者. VIM启动时会显示Help poor children in Uganda!的字样,在中文版本中则是帮助乌干达的可怜儿童!.

 

  评论这张
 
阅读(584)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017