<?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>王超 - 博客 BLOG &#187; vi</title>
	<atom:link href="http://www.wangchao123.com/tag/vi/feed" rel="self" type="application/rss+xml" />
	<link>http://www.wangchao123.com</link>
	<description>code player 海盗精神 - 他们向往自由，面对大海胸怀宽广，只拿他们想要的，遵守契约，单纯而且机智。</description>
	<lastBuildDate>Tue, 24 Aug 2010 08:40:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>vi 命令详解 &#8211; Linux 文本全屏文本编辑器</title>
		<link>http://www.wangchao123.com/2009/06/23/263</link>
		<comments>http://www.wangchao123.com/2009/06/23/263#comments</comments>
		<pubDate>Tue, 23 Jun 2009 04:46:14 +0000</pubDate>
		<dc:creator>wangchao</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[vi]]></category>

		<guid isPermaLink="false">http://www.wangchao123.com/?p=263</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 ：光标下移一<p />……<br /><a href="http://www.wangchao123.com/2009/06/23/263">[阅读全文]</a>]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff0000;">进入vi的命令</span><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><span style="color: #ff0000;">移动光标类命令</span><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 ：光标右移一个字j至字尾<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><span style="color: #ff0000;">屏幕翻滚类命令</span><br />
Ctrl+u：向文件首翻半屏<br />
Ctrl+d：向文件尾翻半屏<br />
Ctrl+f：向文件尾翻一屏<br />
Ctrl＋b；向文件首翻一屏<br />
nz：将第n行滚至屏幕顶部，不指定n时将当前行滚至屏幕顶部。</p>
<p><span style="color: #ff0000;">插入文本类命令<br />
</span>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><span style="color: #ff0000;">删除命令</span><br />
ndw或ndW：删除光标处开始及其后的n-1个字<br />
do：删至行首<br />
d$：删至行尾<br />
ndd：删除当前行及其后n-1行<br />
x或X：删除一个字符，x删除光标后的，而X删除光标前的<br />
Ctrl+u：删除输入方式下所输入的文本</p>
<p><span style="color: #ff0000;">搜索及替换命令 :</span><br />
/pattern：从光标开始处向文件尾搜索pattern<br />
?pattern：从光标开始处向文件首搜索pattern<br />
n：在同一方向重复上一次搜索命令<br />
N：在反方向上重复上一次搜索命令<br />
:s/regexp/replacement/：替换当前行出现的第一个样式<br />
:s/regexp/replacement/g：将当前行中所有p1均用p2替代(g,可能就是替代所有的意思吧)<br />
:n1,n2s/regexp/replacement/g：将第n1至n2行中所有p1均用p2替代<br />
:%s/regexp/replacement/g：将文件中所有p1均用p2替换(%可能代表全文)<br />
:%s/regexp/replacement/gc &#8211; (c代表confirm)每次替换要求确认<br />
:g/regexp/s//replacement/g：将文件中所有p1均用p2替换<br />
另外</p>
<p><span style="color: #ff0000;">选项设置</span><br />
all：列出所有选项设置情况<br />
term：设置终端类型<br />
ignorance：在搜索中忽略大小写<br />
list：显示制表位(Ctrl+I)和行尾标志（$)<br />
number：显示行号<br />
report：显示由面向行的命令修改过的数目<br />
terse：显示简短的警告信息<br />
warn：在转到别的文件时若没保存当前文件则显示NO write信息<br />
nomagic：允许在搜索模式中，使用前面不带&#8221;\&#8221;的特殊字符<br />
nowrapscan：禁止vi在搜索到达文件两端时，又从另一端开始<br />
mesg：允许vi显示其他用户用write写到自己终端上的信息</p>
<p><span style="color: #ff0000;">最后行方式命令</span><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的输入并执行之，若不指<br />
定n1，n2，则表示将整个文件内容作为command的输入<br />
:r!command：将命令command的输出结果放到当前行 。</p>
<p><span style="color: #ff0000;">命令 复制操作</span><br />
yy 将当前行的内容放入临时缓冲区<br />
nyy 将n行的内容放入临时缓冲区<br />
p 将临时缓冲区中的文本放入光标后<br />
P 将临时缓冲区中的文本放入光标前<br />
&#8220;(a-z)nyy 复制n行放入名字为圆括号内的可命名缓冲区，省略n表示当前行<br />
&#8220;(a-z)ndd 删除n行放入名字为圆括号内的可命名缓冲区，省略n表示当前行<br />
&#8220;(a-z)p 将名字为圆括号的可命名缓冲区的内容放入当前行后<br />
&#8220;(a-z)P 将名字为圆括号的可命名缓冲区的内容放入当前行前</p>
<p><span style="color: #ff0000;">ps: 注意命令的大小写</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wangchao123.com/2009/06/23/263/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
