视觉设计基本要素v i使用教程知识Final revision on November 26, 20202016年04月vi使用教程分类:编辑一个文本文件是经常使用到的计算机操作。
我们想做的大多数事情都需要使用某种文件编辑。
文本编辑器会方便文件的创建和修改。
编辑一个文本文件是经常使用到的计算机操作。
我们想做的大多数事情都需要使用某种文件编辑。
文本编辑器会方便文件的创建和修改。
这些文件也许会包含备记录、日程表、程序源代码等等。
文本编辑器是简化的字处理器,就不存在字处理器所具有的黑体、居中、下划线等等这印刷上的特点。
当然每一种操作系统软件都至少支持一种文本编辑器。
通常有两种方式:行编辑器(一种每次修改只能在一行之中或组行之间进行的方式)全屏编辑器(只能显示正在编辑的那一屏进行修改,而且立刻能在屏幕上显示出来)当然UNIX中也有文本编辑器,下面就来介绍一下:编辑器名称类型ed最初的行编辑ex在ed上扩展更为复杂的编辑器vi可视化的全屏编辑器emacs公共域的全屏编辑器UNIX支持的编辑器下面就来具体介绍vi编辑器:vi的原意是"Visual",它是一个立即反应的编辑程式,也就是说可以立刻看到操作结果。
vi是大多数UNIX系统都支持的全屏文本编辑器。
它是由行编辑器ex发展而来的。
它也两个版本:view编辑器和vedit编辑器。
其中view编辑器对vi设了只读标志,而vedit编辑器对vi做了几个标志设置,同时也简化了vi的使用。
vi有两种基本工作模式,文本输入模式和命令模式。
文本输入模式即是用来输入文字资料,而命令模式则是用来下达一些编排文件、存档、以及离开vi等等的操作命令。
当执行vi后,会先进入命令模式,此时输入的任何字符都视为命令。
进入与退出要进入vi可以直接在系统提示字符$下键入vi[文件名],然后键入回车。
vi可以自动帮我们进入所要编辑的文档或是开启一个新文档。
进入vi后屏幕左方会出现波浪符号,凡是列首有该符号的就代表此列目前是空的。
要离开vi可以在命令模式提示符:下键入q。
要切换到命令模式下则是用[ESC]键,如果不知道现在是处于什么模式,可以多按几次[ESC],系统会发出哔哔声以确定进入命令模式。
键功能wq保存文件,退出viw保存文件,但不退出viq退出编辑器q!退出编辑器,同时放弃所做的修改ZZ保存文件,退出vivi编辑器的退出命令vi输入模式要如何输入资料呢?有好几个命令可以进入输入模式:1.添加文本a从光标所在位置后面开始增加资料,光标后的资料随新增资料而向后移动。
A从光标所在行的最后面的地方开始增加资料。
2.插入正文i从光标所在位置前面开始插入资料,光标后的资料随新增资料而向后移动。
I从光标所在行的第一个非空白字符前面开始插入资料。
3.增添新行o在光标所在行下新增一行并进入输入模式。
O在光标所在行上方新增一行并进入输入模式。
实例下面来演示一下(以i为例,其中红色字母为光标所在位置):·先按[Ese]键。
使vi处于命令模式。
·按i键。
将vi切换到文本输入模式。
·按字符123。
这时会发现123出现在m的前面。
此时光标仍停留在m上,vi还处于文本输入模式,直到再按[Ese]才回到命令状态。
如:ThevihistoryThevieditorisaninteractivetexteditorthatissupportedby m ostoftheUNIXoperatin gsystems.到:ThevihistoryThevieditorisaninteractivetexteditorthatissupportedby123m ostoftheUNIXopera tingsystems.vi基本编辑在配合一般键盘上的功能键,像是方向键、[Insert]、[Delete]等等,现在我们应该已经可以利用vi来处理文字资料了。
当然vi还提供其他许多能让文字的处理更方便的用法。
文本删除与修改何谓编辑?在这里我们认为是文字的增加、修改以及删除,甚至包括文字块的移动、复制等等。
这里先介绍vi的如何做删除与修改。
注意:在vi的原始概念里,输入和编辑是两回事。
编辑是在命令模式下操作的,是先利用命令移动光标来定位要进行编辑的地方,然后才下命令做编辑的。
x删除光标所在字符dd删除光标所在的行r替换当前光标所在字符R从当前光标的位置开始替换字符,并且使vi进入文本输入模式s删除光标所在字符,并进入输入模式S删除光标所在的行,并进入输入模式u放弃最近的修改U放弃对当前行的所有修改实例下面来演示一下(以R为例,其中红色字母为光标所在位置):·按R从当前光标开始替换字符。
vi进入文本输入模式。
·按字符123。
vi编辑器会从当前光标开始用123替换ost。
这时vi仍处于文本输入模式。
如:ThevihistoryThevieditorisaninteractivetexteditorthatissupportedbym123oftheUNIXperating systems.·按[Ese]键可以返回到命令模式。
·按U可以恢复对当前行所做的修改。
到:ThevihistoryThevieditorisaninteractivetexteditorthatissupportedby m ostoftheUNIXperating systems.在命令模式下移动光标的基本命令是h,j,k,l。
想来大家现在也应该能猜到只要直接用键盘上的方向键就可以了,而且无论在命令模式或输入模式下都是可以。
当然键盘也有不足之处。
有个很好用的命令u可以恢复被删除的资料,而U命令则可以恢复对光标所在行的所有修改。
这与某些电脑上的[Undo]按键功能相同。
移动光标由于许多编辑工作是借用光标来定位的,所以vi提供了许多移动光标的方式,下面用几张简表来说明(这些当然也是命令模式下的命令):命令说明功能键0(数字)移动到光标所在列的最前面[Home]$移动到光标所在列的最后面[End][CTRL][d]向下半页[CTRL][f]向下一页[PageDown][CTRL][u]向上半页[CTRL][b]向上一页[PageUp]命令说明H移动到视窗的第一行M移动到视窗的中间行L移动到视窗的最后行b移动到下个字的第一个字母w移动到上个字的第一个字母e移动到下个字的最后一个字母^移动到光标所在列的第一个非空白字符命令说明n-减号移动到上一行的第一个非空白字符前面加上数字可以指定移动到以上n行n+加号移动到下一行的第一个非空白字符前面加上数字可以指定移动到以下n行nG直接用数字n加上大写G移动到第n行命令说明fx Fx 往右移动到x字符上往左移动到x字符上tx Tx 往右移动到x字符前往左移动到x字符前; ,配合f&t使用,重复一次配合f&t使用,反方向重复一次/string string 往右移动到有string的地方往左移动到有string的地方n N 配合/&使用,重复一次配合/&使用,反方向重复一次命令说明备注n( n)左括号移动到句子的最前面前面加上数字可以指定往前移动n个句子右括号移动到下个句子的最前面前面加上数字可以指定往后移动n个句子句子是以!.三种符号来界定n{ n}左括弧移动到段落的最前面前面加上数字可以指定往前移动n个段落右括弧移动到下个段落的最前面前面加上数字可以指定往后移动n个段落段落是以段落间的空白列界定编辑命令这些编辑命令非常有弹性,基本上可以说是由命令与范围所构成。
例如dw是由删除命令d与范围w所组成的,代表删除一个字d(elete)w(ord)。
命令列表如下:d删除(delete)y复制(yank)p放置(put)c修改(change)范围可以是下列几个:e光标所在位置到该字的最后一个字母w光标所在位置到下个字的第一个字母b光标所在位置到上个字的第一个字母$光标所在位置到该列的最后一个字母0光标所在位置到该列的第一个字母)光标所在位置到下个句子的第一个字母(光标所在位置到该句子的第一个字母}光标所在位置到该段落的最后一个字母{光标所在位置到该段落的第一个字母这些提供了更多的编辑文字的能力。
值得注意的是删除与复制都会将指定范围的内容放到缓存区里,然后就可以用命令p贴到其它地方去,这是vi用来处理区段拷贝与移动的办法。
在某些vi的版本中,例如Linux所用的elvis里就可以大幅简化这些命令。
如果稍微观察一下这些编辑命令就会发现问题其实是定范围的方式有点复杂,实际上只有四个命令罢了。
命令v非常好用,只要按下v键,光标所在的位置就会反白,然后就可以移动光标来设定范围,接着再直接下命令进行编辑就可以了。
对于整行操作,vi另外提供了更方便的编辑命令。
前面曾经提到过删除整行文字的命令dd就是其中一个;cc可以修改整行文字;而yy则是复制整行文字的;命令D则可以删除光标到该行结束为止所有的文字。