vi文字处理器
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:
1 http://www.wangluqing.com/2014/03/vi-word-operate/
2 http://zh.wikipedia.org/wiki/Vi
vi文字处理器的更多相关文章
- vi 文字处理器
vi 的使用 基本上 vi 共分为三种模式,分别是『一般模式』. 『编辑模式』与『指令列命令模式』三种! 这三种模式的作用是: 一般模式: 以 vi 处理一个档案的时后,一进入该档案就是一般模式了.在 ...
- Word文字处理器发展演变
随着信息技术的不断发展,以前书面化的信笺,笔记,书籍以及作业演变成现在不断更新的电子化Word文档. Word是目前世界上最流行.最常用的文字编辑,排版软件,使用它不仅可以提高文档的编辑效率,在修改时 ...
- python实现一个加密的文字处理器
这是一个类似于记事本的文字处理器.与正常的记事本不同的是,它会将文本文档进行加密,确保无法被常规的程序打开. 由于本人是一位业余编程爱好者,对于"python之禅"之类的规则比较不 ...
- vi/vim 文字处理器常用命令
目录 vi 与vim vi 的三种模式 vi 光标移动 vi 搜索与替换 vi 删除 vi 复制 vi 粘贴 vi 其他 vi 进入编辑模式 vi 命令行命令 vim 附加功能 vi 与vim vi是 ...
- 鸟哥的Linux私房菜-----9、vi文本处理器
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVrZXdhbmd6aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- linux(4) vi编辑/删除、复制、粘贴 /bash shell 环境变量设置/数据流重定向 | 的用法
一.vi文字处理器1.vi与vimvi:文字处理器vim:程序开发工具2.vi介绍三种模式:一般模式(vi刚进入的,不可编辑),编辑模式(按i后,左下方是insert)和命令行模式(按esc退出,:w ...
- linux vim,vi编辑器的基础
在之前我也不知道为什么要学vim和vi编辑器,仅仅是听过别人说这个对与linux非常重要. 先说一下为什么要学习这个编辑器.个人的看书理解. 系统管理员的重要工作就是參与与设置某些重要软件的配置文件, ...
- Linux常用命令速查备忘
Linux常用命令速查备忘 PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...
- Vim入门学习之Vim解析
Vim解析... ----------------------- 首先你要会从官网上下载你想要的Vim版本: 官网: http://www.vim.org/==================== ...
随机推荐
- .net GUI框架
十大开源的.NET用户界面框架 让GUI设计不再犯难 选择一款合适的GUI框架是.NET开发中比较重要但又很棘手的问题,因为用户界面相当于一款应用的"门面",直接面向用户.好的UI ...
- ViewPager 如何得到当前的Fragment (使用FragmentPagerAdapter)
使用FragmentPagerAdapter时,难免要在MainActivity 和 当前显示的Fragment间传递数据.但是FragmentPagerAdapter并没有给我们提供类似getCur ...
- FASTQ 数据质量统计工具
主流工具: FastQC fqcheck readfq 拿到测序数据的第一步就是做质量控制 fqcheck之后得到的结果: 它会统计每条reads,按read 1-100位点计算每个位置的ACGTN含 ...
- Nastya Is Buying Lunch CodeForces - 1136D (排列)
大意: 给定n排列, m个pair, 每个pair(u,v), 若u,v相邻, 且u在v左侧, 则可以交换u和v, 求a[n]最多向左移动多少 经过观察可以发现, 尽量先用右侧的人与a[n]交换, 这 ...
- 『Json』常用方法记录
json模块可以把字典结构改写为string然后保存,并可以反向读取字典 pickle模块则可以持久化任意数据结构 但是即使同样是字典数据结构,两个包也是有差别的, json字典value不支持其他对 ...
- ORACLE workflow审批界面显示附件信息和附件的下载链接(转)
原文: ORACLE workflow审批界面显示附件信息和附件的下载链接 EBS获取附件URL 代码如下: CREATE OR REPLACE PACKAGE cux_attachment_util ...
- java.net.SocketException: Broken pipe
java.net.SocketException: Broken pipe 生产上遇到一个问题,socket发生Broken pipe错误,如下 这个问题跟踪了好几个月,始终没有模拟出为什么会发生Br ...
- @RequiresPermissions ,@RequiresUser , @RequiresGuest ,@RequiresRoles 解释
转载地址:https://blog.csdn.net/AinUser/article/details/64920968?locationNum=1&fps=1 @RequiresPermiss ...
- git and github问题集锦
本人遇到的:
- 快速切题 sgu119. Magic Pairs
119. Magic Pairs time limit per test: 0.5 sec. memory limit per test: 4096 KB “Prove that for any in ...