http://blog.csdn.net/wangloveall/article/details/22649331

摘要:vi是类UNIX命令行接口的标准文字处理软件,也是进行shell脚本程序编写与服务器设置的非常重要的工具。本文介绍vi文字处理器,包括vi简介、vi怎么使用、vi的加强版vim。

关键词:vi    文字处理器    vim

vi是一种计算机文本编辑器,由美国计算机科学家比尔.乔伊(Bill Joy)完成编写于1976年发表,并以BSD授权发布。

Linux世界里,为什么要学习和掌握好vi呢?原因如下。

第一:所有的类Unix系统(Linux)都会内建vi文字处理器,其他文字处理器不一定存在。也就是说,vi具有极大的通用性。

第二:Linux绝大部分配置文件都是ASCII纯文本文件,因此利用vi就可以进行方便地修改和设定。也就是说,vi具有很广的应用域。

第三:很多个别软件的编辑接口会主动呼叫vi(例如crontab,visudo,edquota等指令)。也就说,vi具有很多支持者。

第四:vi简单易学,功能强大,内容丰富,编辑程序的速度快。也就说,vi具有“简单主义”的设计哲学。

第五:vim是vi的进阶版,学好vi,可以更好地使用vim。也就是说,vi具有“根基”的内涵。

我想,为什么要学好vi?简而言之,为了更好地使用Linux系统,包括Linux系统的管理和Linux系统的编程等。

vi是什么清楚了,为什么要使用vi也有理由了,那怎么使用vi呢?

vi包含三种工作模式,分别是【一般模式】、【编辑模式】和【命令模式】,关于三种模式各自的作用说明如下。

1 一般模式:它是vi的默认模式,使用vi打开文件就进入一般模式。该模式下,可以使用上下左右方向键移动光标,可以使用删除字符或删除整行或复制或粘贴来处理文件内容。

2 编辑模式:一般模式无法编辑文件内容。按下【i,I,o,O,a,A,r,R】等任何一个字母之后才会进入编辑模式。通常在Linux下,按下这些键后,在画面的左下方会出现【INSERT或者REPLACE】的字样,此时才可以进行编辑。如果要回到一般模式,按下【Esc】这个按键即可退出编辑模式。

3 命令模式:在一般模式中,当输入【:  /  ?】三个中的任何一个按钮,即可将光标移到画面最底下一行,即进入到命令模式。该模式下,可完成读取、存盘、大量取代字符、离开vi、显示行号等等动作。

vi三种工作模式关联图见图1所示。

图1 vi三种工作模式关联图

温馨提示:由图可知,一般模式可以与编辑模式或者命令模式切换,但是编辑模式与命令模式之间不能切换,必须依赖于一般模式。

关于vi文字处理器在不同工作模式下的具体使用,请参阅Resource中鸟哥的Linux私房菜的第十章《vim程序编辑器》内容。关于怎样使用vi,除了掌握不同模式下的具体使用方法外,需要多使用vi来处理与Linux系统相关的事情。时间长了,用得多了,也就成为一种优秀的习惯了。

我们在Linux系统下写源代码,需要一个程序编辑器,vim是一个很好的选择。我们已经知道,它不仅是vi的进阶与提升,更是一款很好的程序编辑器。使用它写代码,可以主动地以字体颜色辨别语法的正确性,极力地方便程序的设计。举例来说,当你使用vim编辑一个Java源程序,vim会依据源程序的扩展名或者源程序内的开始信息,判断该源程序的内容并且自动地启用该程序的语法判别式,再以颜色显示源程序内容和一般信息。

使用vim编写的HelloWord.java如图2所示。

图2 vim 写的HelloWorld.java效果图

关于vim程序编辑器相对vi文字处理器所增加的额外功能,请参阅Resource中鸟哥的Linux私房菜的第十章《vim程序编辑器》内容。

Resource:

http://www.wangluqing.com/2014/03/vi-word-operate/

http://zh.wikipedia.org/wiki/Vi

鸟哥的Linux私房菜的第十章《vim程序编辑器》

vi文字处理器的更多相关文章

  1. vi 文字处理器

    vi 的使用 基本上 vi 共分为三种模式,分别是『一般模式』. 『编辑模式』与『指令列命令模式』三种! 这三种模式的作用是: 一般模式: 以 vi 处理一个档案的时后,一进入该档案就是一般模式了.在 ...

  2. Word文字处理器发展演变

    随着信息技术的不断发展,以前书面化的信笺,笔记,书籍以及作业演变成现在不断更新的电子化Word文档. Word是目前世界上最流行.最常用的文字编辑,排版软件,使用它不仅可以提高文档的编辑效率,在修改时 ...

  3. python实现一个加密的文字处理器

    这是一个类似于记事本的文字处理器.与正常的记事本不同的是,它会将文本文档进行加密,确保无法被常规的程序打开. 由于本人是一位业余编程爱好者,对于"python之禅"之类的规则比较不 ...

  4. vi/vim 文字处理器常用命令

    目录 vi 与vim vi 的三种模式 vi 光标移动 vi 搜索与替换 vi 删除 vi 复制 vi 粘贴 vi 其他 vi 进入编辑模式 vi 命令行命令 vim 附加功能 vi 与vim vi是 ...

  5. 鸟哥的Linux私房菜-----9、vi文本处理器

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVrZXdhbmd6aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  6. linux(4) vi编辑/删除、复制、粘贴 /bash shell 环境变量设置/数据流重定向 | 的用法

    一.vi文字处理器1.vi与vimvi:文字处理器vim:程序开发工具2.vi介绍三种模式:一般模式(vi刚进入的,不可编辑),编辑模式(按i后,左下方是insert)和命令行模式(按esc退出,:w ...

  7. linux vim,vi编辑器的基础

    在之前我也不知道为什么要学vim和vi编辑器,仅仅是听过别人说这个对与linux非常重要. 先说一下为什么要学习这个编辑器.个人的看书理解. 系统管理员的重要工作就是參与与设置某些重要软件的配置文件, ...

  8. Linux常用命令速查备忘

    Linux常用命令速查备忘   PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...

  9. Vim入门学习之Vim解析

    Vim解析... ----------------------- 首先你要会从官网上下载你想要的Vim版本:   官网: http://www.vim.org/==================== ...

随机推荐

  1. 20170228VBA提取邮件部分信息

    Sub 获取OutLook收件箱主题和正文() On Error Resume Next Dim sht As Worksheet Dim olApp As Outlook.Application D ...

  2. codeforces 1042d//Petya and Array// Codeforces Round #510 (Div. 2)

    题意:给出一个数组,求其中和小于t的区间数. 先计算前缀和数组sum[i].对当前的sum[i],查询树状数组中有几个比(sum[i]-t)大的数,那么用sum[i]减它就是一个合法区间.再将当前的s ...

  3. Android之省市区三级联动

    最近项目要做一个电商APP,选择收货地址的三级联动滚动选择组件, 控件用起来非常简单 ,下面是它的运行效果: 布局 <LinearLayout xmlns:android="http: ...

  4. Java基础-this关键字和构造方法(10)

    this关键字 方法被哪个对象调用,this就代表那个对象当局部变量隐藏成员变量时,使用this关键字(例如构造方法和访问器). 构造方法 构造方法作用概述 给对象的数据进行初始化 构造方法格式 方法 ...

  5. 『Python』pycharm常用设置

    学习一下pycharm的快捷操作,提升速度,也提升舒适度,笑. 常用快捷键 ctrl + d :复制粘贴本行到下一行 ctrl + y :删除本行 ctrl + 鼠标点击 :跳转 ctrl + / : ...

  6. Oracle11g温习-第五章:数据字典

    1.数据字典(Data dictionary)的功能 1)   central of oracle   database               每个oracle数据库的核心 2)   descr ...

  7. Oracle11g温习-第三章:instance实例管理

    2013年4月27日 星期六 10:30 1.instance 功能:   用于管理和访问database. 2.init parameter files :管理实例相关启动参数.位置:$ORACLE ...

  8. sql 2005 代码导入excel数据

     select * into bm from OpenDataSource( 'Microsoft.ACE.OLEDB.12.0', 'Data Source="G:\bm.xls" ...

  9. Linux的三种网络适配器

    Linux的三种网络适配器 分别为:桥接模式(Bridged),NAT模式,仅主机模式. 仅主机模式:        2>NAT模式 NAT 是虚拟机和本地网络使用一个ip地址 3>桥接模 ...

  10. java深浅拷贝

    转载:http://atjava.iteye.com/blog/1722501 首先我们看看浅拷贝和深拷贝的定义 浅拷贝:只复制一个对象,对象内部存在的指向其他对象数组或者引用则不复制 深拷贝:对象, ...