<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>xilo&#039;s blog &#187; CentOS</title>
	<atom:link href="http://www.xilo.cn/blog/tag/centos/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xilo.cn/blog</link>
	<description>Every day,every hour,and every minute is special！</description>
	<lastBuildDate>Tue, 27 Sep 2011 06:19:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
		<item>
		<title>VI 使用</title>
		<link>http://www.xilo.cn/blog/2009/09/17/290</link>
		<comments>http://www.xilo.cn/blog/2009/09/17/290#comments</comments>
		<pubDate>Thu, 17 Sep 2009 07:18:48 +0000</pubDate>
		<dc:creator>xilo</dc:creator>
				<category><![CDATA[工具]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[vi]]></category>

		<guid isPermaLink="false">http://www.xilo.cn/blog/?p=290</guid>
		<description><![CDATA[vi编辑器是任何Unix及Linux系统下标准的编辑器，他的强大不逊色于任何最新的文本编辑器，这里只是简单地介绍一下他的用法和一小部分指令。由于对Unix及Linux系统的任何版本，vi编辑器是完全... ]]></description>
			<content:encoded><![CDATA[<p>vi编辑器是任何Unix及Linux系统下标准的编辑器，他的强大不逊色于任何最新的文本编辑器，这里只是简单地介绍一下他的用法和一小部分指令。由于对Unix及Linux系统的任何版本，vi编辑器是完全相同的，因此您能够在其他任何介绍vi的地方进一步了解他。Vi也是Linux中最基本的文本编辑器，学会他后，您将在Linux的世界里畅行无阻。 </p>
<p><span id="more-290"></span><br />
1、<strong>vi的基本概念</strong> <br />
　　基本上vi能够分为三种状态，分别是命令模式（command mode）、插入模式（Insert mode）和底行模式（last line mode），各模式的功能区分如下： <br />
    <strong>1) 命令行模式command mode）</strong> <br />
　　控制屏幕光标的移动，字符、字或行的删除，移动复制某区段及进入Insert mode下，或到 last line mode。 <br />
    <strong>2) 插入模式（Insert mode）</strong> <br />
　　只有在Insert mode下，才能够做文字输入，按「ESC」键可回到命令行模式。 <br />
   <strong> 3) 底行模式（last line mode）</strong> <br />
　　将文档保存或退出vi，也能够配置编辑环境，如寻找字符串、列出行号……等。 <br />
    但是一般我们在使用时把vi简化成两个模式，就是将底行模式（last line mode）也算入命令行模式command mode）。 <br />
<strong>2、vi的基本操作</strong> <br />
a) 进入vi <br />
   　在系统提示符号输入vi及文档名称后，就进入vi全屏幕编辑画面：<br />
　　　$ vi myfile <br />
　　但是有一点要特别注意，就是您进入vi之后，是处于「命令行模式（command mode）」，您要转换到「插入模式（Insert mode）」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标，结果电脑一直哔哔叫，把自己气个半死，所以进入vi后，先不要乱动，转换到「插入模式（Insert mode）」再说吧！ <br />
b) 转换至插入模式（Insert mode）编辑文档 <br />
　　在「命令行模式（command mode）」下按一下字母「i」就能够进入「插入模式（Insert mode）」，这时候您就能够开始输入文字了。 <br />
c) Insert 的转换 <br />
　　您现在处于「插入模式（Insert mode）」，您就只能一直输入文字，假如您发现输错了字！想用光标键往回移动，将该字删除，就要先按一下「ESC」键转到「命令行模式（command mode）」再删除文字。 <br />
d) 退出vi及保存文档 <br />
　　在「命令行模式（command mode）」下，按一下「：」冒号键进入「Last line mode」，例如： <br />
: w filename （输入 「w filename」将文章以指定的文档名filename保存） <br />
: wq (输入「wq」，存盘并退出vi) <br />
: q! (输入q!， 不存盘强制退出vi) <br />
<strong>3、命令行模式（command mode）功能键</strong> <br />
1）. 插入模式 <br />
       按「i」转换进入插入模式「insert mode」，按&#8221;i&#8221;进入插入模式后是从光标当前位置开始输入文档； <br />
　　按「a」进入插入模式后，是从现在光标所在位置的下一个位置开始输入文字； <br />
　　按「o」进入插入模式后，是插入新的一行，从行首开始输入文字。 <br />
2）. 从插入模式转换为命令行模式 <br />
      按「ESC」键。 <br />
3）. 移动光标 <br />
　　vi能够直接用键盘上的光标来上下左右移动，但正规的vi是用小写英文字母「h」、「j」、「k」、「l」，分别控制光标左、下、上、右移一格。 <br />
　　按「ctrl」+「b」：屏幕往&#8221;后&#8221;移动一页。 <br />
　　按「ctrl」+「f」：屏幕往&#8221;前&#8221;移动一页。 <br />
　　按「ctrl」+「u」：屏幕往&#8221;后&#8221;移动半页。 <br />
　　按「ctrl」+「d」：屏幕往&#8221;前&#8221;移动半页。 <br />
　　按数字「0」：移到文章的开头。 <br />
　　按「G」：移动到文章的最后。 <br />
　　按「$」：移动到光标所在行的&#8221;行尾&#8221;。 <br />
　　按「^」：移动到光标所在行的&#8221;行首&#8221; <br />
　　按「w」：光标跳到下个字的开头 <br />
　　按「e」：光标跳到下个字的字尾 <br />
　　按「b」：光标回到上个字的开头 <br />
　　按「#l」：光标移到该行的第#个位置，如：5l,56l。 <br />
4）. 删除文字 <br />
　　「x」：每按一次，删除光标所在位置的&#8221;后面&#8221;一个字符。 <br />
　　「#x」：例如，「6x」表示删除光标所在位置的&#8221;后面&#8221;6个字符。 <br />
　　「X」：大写的X，每按一次，删除光标所在位置的&#8221;前面&#8221;一个字符。 <br />
　　「#X」：例如，「20X」表示删除光标所在位置的&#8221;前面&#8221;20个字符。 <br />
　　「dd」：删除光标所在行。 <br />
　　「#dd」：从光标所在行开始删除#行 <br />
5）. 复制 <br />
　　「yw」：将光标所在之处到字尾的字符复制到缓冲区中。 <br />
　　「#yw」：复制#个字到缓冲区 <br />
　　「yy」：复制光标所在行到缓冲区。 <br />
　　「#yy」：例如，「6yy」表示拷贝从光标所在的该行&#8221;往下数&#8221;6行文字。 <br />
　　「p」：将缓冲区内的字符贴到光标所在位置。注意：任何和&#8221;y&#8221;有关的复制命令都必须和&#8221;p&#8221;配合才能完成复制和粘贴功能。 <br />
6）. 替换 <br />
　　「r」：替换光标所在处的字符。 <br />
　　「R」：替换光标所到之处的字符，直到按下「ESC」键为止。 <br />
7）. 回复上一次操作 <br />
　　「u」：假如您误执行一个命令，能够马上按下「u」，回到上一个操作。按多次&#8221;u&#8221;能够执行多次回复。 <br />
8）. 更改 <br />
　　「cw」：更改光标所在处的字到字尾处 <br />
　　「c#w」：例如，「c3w」表示更改3个字 <br />
9）. 跳至指定的行 <br />
　　「ctrl」+「g」列出光标所在行的行号。 <br />
　　「#G」：例如，「15G」，表示移动光标至文章的第15行行首。 </p>
<p> <br />
<strong>4、Last line mode下命令简介</strong> <br />
　　在使用「last line mode」之前，请记住先按「ESC」键确定您已处于「command mode」下后，再按「：」冒号即可进入「last line mode」。 <br />
A) 列出行号 <br />
　「set nu」：输入「set nu」后，会在文档中的每一行前面列出行号。 <br />
B) 跳到文档中的某一行 <br />
　「#」：「#」号表示一个数字，在冒号后输入一个数字，再按回车键就会跳到该行了，如输入数字15，再回车，就会跳到文章的第15行。 <br />
C) 查找字符 <br />
　「/关键字」：先按「/」键，再输入您想寻找的字符，假如第一次找的关键字不是您想要的，能够一直按「n」会往后寻找到您要的关键字为止。 <br />
　「?关键字」：先按「?」键，再输入您想寻找的字符，假如第一次找的关键字不是您想要的，能够一直按「n」会往前寻找到您要的关键字为止。 <br />
D) 保存文档 <br />
　「w」：在冒号输入字母「w」就能够将文档保存起来。 <br />
E) 离开vi <br />
　「q」：按「q」就是退出，假如无法离开vi，能够在「q」后跟一个「!」强制离开vi。 <br />
　「qw」：一般建议离开时，搭配「w」一起使用，这样在退出的时候还能够保存文档。 <br />
<strong>5、vi命令列表</strong> <br />
1、下表列出命令模式下的一些键的功能： <br />
h <br />
左移光标一个字符 <br />
l <br />
右移光标一个字符 <br />
k <br />
光标上移一行 <br />
j <br />
光标下移一行 <br />
^ <br />
光标移动至行首 <br />
0 <br />
数字&#8221;0&#8243;，光标移至文章的开头 <br />
G <br />
光标移至文章的最后 <br />
$ <br />
光标移动至行尾 <br />
Ctrl+f <br />
向前翻屏 <br />
Ctrl+b <br />
向后翻屏 <br />
Ctrl+d <br />
向前翻半屏 <br />
Ctrl+u <br />
向后翻半屏 <br />
i <br />
在光标位置前插入字符 <br />
a <br />
在光标所在位置的后一个字符开始增加 <br />
o <br />
插入新的一行，从行首开始输入 <br />
ESC <br />
从输入状态退至命令状态 <br />
x <br />
删除光标后面的字符 <br />
#x <br />
删除光标后的＃个字符 <br />
X <br />
(大写X)，删除光标前面的字符 <br />
#X <br />
删除光标前面的#个字符 <br />
dd <br />
删除光标所在的行 <br />
#dd <br />
删除从光标所在行数的#行 <br />
yw <br />
复制光标所在位置的一个字 <br />
#yw <br />
复制光标所在位置的#个字 <br />
yy <br />
复制光标所在位置的一行 <br />
#yy <br />
复制从光标所在行数的#行 <br />
p <br />
粘贴 <br />
u <br />
取消操作 <br />
cw <br />
更改光标所在位置的一个字 <br />
#cw <br />
更改光标所在位置的#个字 <br />
<strong>5.2、下表列出行命令模式下的一些指令</strong> <br />
w filename <br />
储存正在编辑的文档为filename <br />
wq filename <br />
储存正在编辑的文档为filename，并退出vi <br />
q! <br />
放弃任何修改，退出vi <br />
set nu <br />
显示行号 <br />
/或? <br />
查找，在/后输入要查找的内容 <br />
n <br />
和/或?一起使用，假如查找的内容不是想要找的关键字，按n或向后（和/联用）或向前（和?联用）继续查找，直到找到为止。 <br />
<strong>对于第一次用vi，有几点注意要提醒一下：</strong> <br />
1、用vi打开文档后，是处于「命令行模式（command mode）」，您要转换到「插入模式（Insert mode）」才能够输入文字。转换方法：在「命令行模式（command mode）」下按一下字母「i」就能够进入「插入模式（Insert mode）」，这时候您就能够开始输入文字了。 <br />
2、编辑好后，需从插入模式转换为命令行模式才能对文档进行保存，转换方法：按「ESC」键。 <br />
3、保存并退出文档：在命令模式下输入:wq即可！（别忘了wq前面的:）</p>
<p>附：CentOS 源（国内-速度很快）：<a href="http://centos.ustc.edu.cn/">http://centos.ustc.edu.cn/</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.xilo.cn/blog/2009/09/17/290/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

