<?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>DiaHosting官方博客 &#187; vi</title>
	<atom:link href="http://blog.diahosting.com/tag/vi/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.diahosting.com</link>
	<description></description>
	<lastBuildDate>Sun, 14 Mar 2010 09:39:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>linux下vi编辑器命令大全</title>
		<link>http://blog.diahosting.com/linux-tutorial/linux-vi/</link>
		<comments>http://blog.diahosting.com/linux-tutorial/linux-vi/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 12:32:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux基础教程]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[vi]]></category>

		<guid isPermaLink="false">http://blog.diavps.cn/linux-tutorial/linux%e4%b8%8bvi%e7%bc%96%e8%be%91%e5%99%a8%e5%91%bd%e4%bb%a4%e5%a4%a7%e5%85%a8/</guid>
		<description><![CDATA[进入vi的命令
vi filename :打开或新建文件，并将光标置于第一行首
vi +n filename ：打开文件，并将光标置于第n行首
vi + filename ：打开文件，并将光标置于最后一行首
vi +/pattern filename：打开文件，并将光标置于第一个与pattern匹配的串处
vi -r filename ：在上次正用vi编辑时发生系统崩溃，恢复filename
vi filename&#8230;.filename ：打开多个文件，依次进行编辑
移动光标类命令
h ：光标左移一个字符
l ：光标右移一个字符
space：光标右移一个字符
Backspace：光标左移一个字符
k或Ctrl+p：光标上移一行
j或Ctrl+n ：光标下移一行
Enter ：光标下移一行
w或W ：光标右移一个字至字首
b或B ：光标左移一个字至字首
e或E ：光标右移一个字至字尾
) ：光标移至句尾
( ：光标移至句首
}：光标移至段落开头
{：光标移至段落结尾
nG：光标移至第n行首
n+：光标下移n行
n-：光标上移n行
n$：光标移至第n行尾
H ：光标移至屏幕顶行
M ：光标移至屏幕中间行
L ：光标移至屏幕最后行
0：（注意是数字零）光标移至当前行首
$：光标移至当前行尾
屏幕翻滚类命令
Ctrl+u：向文件首翻半屏
Ctrl+d：向文件尾翻半屏
Ctrl+f：向文件尾翻一屏
Ctrl＋b；向文件首翻一屏
nz：将第n行滚至屏幕顶部，不指定n时将当前行滚至屏幕顶部。
插入文本类命令
i ：在光标前
I ：在当前行首
a：光标后
A：在当前行尾
o：在当前行之下新开一行
O：在当前行之上新开一行
r：替换当前字符
R：替换当前字符及其后的字符，直至按ESC键
s：从当前光标位置处开始，以输入的文本替代指定数目的字符
S：删除指定数目的行，并以所输入文本代替之
ncw或nCW：修改指定数目的字
nCC：修改指定数目的行
删除命令
ndw或ndW：删除光标处开始及其后的n-1个字
do：删至行首
d$：删至行尾
ndd：删除当前行及其后n-1行
x或X：删除一个字符，x删除光标后的，而X删除光标前的
Ctrl+u：删除输入方式下所输入的文本
搜索及替换命令
/pattern：从光标开始处向文件尾搜索pattern
?pattern：从光标开始处向文件首搜索pattern
n：在同一方向重复上一次搜索命令
N：在反方向上重复上一次搜索命令
：s/p1/p2/g：将当前行中所有p1均用p2替代
：n1,n2s/p1/p2/g：将第n1至n2行中所有p1均用p2替代
：g/p1/s//p2/g：将文件中所有p1均用p2替换
选项设置
all：列出所有选项设置情况
term：设置终端类型
ignorance：在搜索中忽略大小写
list：显示制表位(Ctrl+I)和行尾标志（$)
number：显示行号
report：显示由面向行的命令修改过的数目
terse：显示简短的警告信息
warn：在转到别的文件时若没保存当前文件则显示NO write信息
nomagic：允许在搜索模式中，使用前面不带“\”的特殊字符
nowrapscan：禁止vi在搜索到达文件两端时，又从另一端开始
mesg：允许vi显示其他用户用write写到自己终端上的信息
最后行方式命令
：n1,n2 co n3：将n1行到n2行之间的内容拷贝到第n3行下
：n1,n2 m n3：将n1行到n2行之间的内容移至到第n3行下
：n1,n2 d ：将n1行到n2行之间的内容删除
：w ：保存当前文件
：e filename：打开文件filename进行编辑
：x：保存当前文件并退出
：q：退出vi
：q!：不保存文件并退出vi
：!command：执行shell命令command
：n1,n2 w!command：将文件中n1行至n2行的内容作为command的输入并执行之，若不指定n1，n2，则表示将整个文件内容作为command的输入
：r!command：将命令command的输出结果放到当前行
寄存器操作
&#8220;?nyy：将当前行及其下n行的内容保存到寄存器？中，其中?为一个字母，n为一个数字
&#8220;?nyw：将当前行及其下n个字保存到寄存器？中，其中?为一个字母，n为一个数字
&#8220;?nyl：将当前行及其下n个字符保存到寄存器？中，其中?为一个字母，n为一个数字
&#8220;?p：取出寄存器？中的内容并将其放到光标位置处。这里？可以是一个字母，也可以是一个数字
ndd：将当前行及其下共n行文本删除，并将所删内容放到1号删除寄存器中。
]]></description>
			<content:encoded><![CDATA[<p>进入vi的命令<br />
vi filename :打开或新建文件，并将光标置于第一行首<br />
vi +n filename ：打开文件，并将光标置于第n行首<br />
vi + filename ：打开文件，并将光标置于最后一行首<br />
vi +/pattern filename：打开文件，并将光标置于第一个与pattern匹配的串处<br />
vi -r filename ：在上次正用vi编辑时发生系统崩溃，恢复filename<br />
vi filename&#8230;.filename ：打开多个文件，依次进行编辑</p>
<p>移动光标类命令<br />
h ：光标左移一个字符<br />
l ：光标右移一个字符<br />
space：光标右移一个字符<br />
Backspace：光标左移一个字符<br />
k或Ctrl+p：光标上移一行<br />
j或Ctrl+n ：光标下移一行<br />
Enter ：光标下移一行<br />
w或W ：光标右移一个字至字首<br />
b或B ：光标左移一个字至字首<br />
e或E ：光标右移一个字至字尾<br />
) ：光标移至句尾<br />
( ：光标移至句首<br />
}：光标移至段落开头<br />
{：光标移至段落结尾<br />
nG：光标移至第n行首<br />
n+：光标下移n行<br />
n-：光标上移n行<br />
n$：光标移至第n行尾<br />
H ：光标移至屏幕顶行<br />
M ：光标移至屏幕中间行<br />
L ：光标移至屏幕最后行<br />
0：（注意是数字零）光标移至当前行首<br />
$：光标移至当前行尾</p>
<p>屏幕翻滚类命令<br />
Ctrl+u：向文件首翻半屏<br />
Ctrl+d：向文件尾翻半屏<br />
Ctrl+f：向文件尾翻一屏<br />
Ctrl＋b；向文件首翻一屏<br />
nz：将第n行滚至屏幕顶部，不指定n时将当前行滚至屏幕顶部。</p>
<p>插入文本类命令<br />
i ：在光标前<br />
I ：在当前行首<br />
a：光标后<br />
A：在当前行尾<br />
o：在当前行之下新开一行<br />
O：在当前行之上新开一行<br />
r：替换当前字符<br />
R：替换当前字符及其后的字符，直至按ESC键<br />
s：从当前光标位置处开始，以输入的文本替代指定数目的字符<br />
S：删除指定数目的行，并以所输入文本代替之<br />
ncw或nCW：修改指定数目的字<br />
nCC：修改指定数目的行</p>
<p>删除命令<br />
ndw或ndW：删除光标处开始及其后的n-1个字<br />
do：删至行首<br />
d$：删至行尾<br />
ndd：删除当前行及其后n-1行<br />
x或X：删除一个字符，x删除光标后的，而X删除光标前的<br />
Ctrl+u：删除输入方式下所输入的文本</p>
<p>搜索及替换命令<br />
/pattern：从光标开始处向文件尾搜索pattern<br />
?pattern：从光标开始处向文件首搜索pattern<br />
n：在同一方向重复上一次搜索命令<br />
N：在反方向上重复上一次搜索命令<br />
：s/p1/p2/g：将当前行中所有p1均用p2替代<br />
：n1,n2s/p1/p2/g：将第n1至n2行中所有p1均用p2替代<br />
：g/p1/s//p2/g：将文件中所有p1均用p2替换</p>
<p>选项设置<br />
all：列出所有选项设置情况<br />
term：设置终端类型<br />
ignorance：在搜索中忽略大小写<br />
list：显示制表位(Ctrl+I)和行尾标志（$)<br />
number：显示行号<br />
report：显示由面向行的命令修改过的数目<br />
terse：显示简短的警告信息<br />
warn：在转到别的文件时若没保存当前文件则显示NO write信息<br />
nomagic：允许在搜索模式中，使用前面不带“\”的特殊字符<br />
nowrapscan：禁止vi在搜索到达文件两端时，又从另一端开始<br />
mesg：允许vi显示其他用户用write写到自己终端上的信息</p>
<p>最后行方式命令<br />
：n1,n2 co n3：将n1行到n2行之间的内容拷贝到第n3行下<br />
：n1,n2 m n3：将n1行到n2行之间的内容移至到第n3行下<br />
：n1,n2 d ：将n1行到n2行之间的内容删除<br />
：w ：保存当前文件<br />
：e filename：打开文件filename进行编辑<br />
：x：保存当前文件并退出<br />
：q：退出vi<br />
：q!：不保存文件并退出vi<br />
：!command：执行shell命令command<br />
：n1,n2 w!command：将文件中n1行至n2行的内容作为command的输入并执行之，若不指定n1，n2，则表示将整个文件内容作为command的输入<br />
：r!command：将命令command的输出结果放到当前行</p>
<p>寄存器操作<br />
&#8220;?nyy：将当前行及其下n行的内容保存到寄存器？中，其中?为一个字母，n为一个数字<br />
&#8220;?nyw：将当前行及其下n个字保存到寄存器？中，其中?为一个字母，n为一个数字<br />
&#8220;?nyl：将当前行及其下n个字符保存到寄存器？中，其中?为一个字母，n为一个数字<br />
&#8220;?p：取出寄存器？中的内容并将其放到光标位置处。这里？可以是一个字母，也可以是一个数字<br />
ndd：将当前行及其下共n行文本删除，并将所删内容放到1号删除寄存器中。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diahosting.com/linux-tutorial/linux-vi/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

