免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2898 | 回复: 0
打印 上一主题 下一主题

vi 的基础使用方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-26 11:06 |只看该作者 |倒序浏览

vi
vi是一种全屏幕编辑器,可以在整个屏幕范围内编辑文本所做的编辑直接反映到屏幕上。vi使用编辑缓冲区,即首先将文件读入缓冲区中,对该文件的修改作用于缓冲区中的副本,直到用户显式执行保存命令。
vi分为三种模式:命令模式、文本输入模式、ex转义命令模式(末尾行模式)。在shell中执行vi命令,vi自动进入命令模式。在任何一种模式下按下ESC键均返回到命令模式。文本输入
2.2 vi用法
vi [ -option ... ] [ command ... ] [ filename ... ]
2.2.1 文件操作
☆ w:保存文件
☆ wq:保存文件并退出vi。
☆ x:如果编辑缓冲区被改变则保存后退出,否则直接退出vi。
☆ q:退出vi。若编辑缓冲区被改变,则vi给出警告信息,并且不退出。
☆ q!:放弃自上次保存以来所作的修改(如果有),并退出vi。
☆ e!:放弃自上次保存以来所作的修改(如果有),并重新打开文件。
☆ e:编辑另一个文件。
2.2.2 进入文本输入模式
☆ a:在当前字符后面添加文本。
☆ A:在行尾添加文本。
☆ i:在当前字符前添加文本。
☆ I:在行首添加文本。
☆ s:将当前字符替换成指定文本。
☆ S:将当前行替换成指定文本。
☆ r:将当前字符替换成指定字符。
☆ R:从当前字符处开始替换字符。
☆ o:在当前行之下添加文本。
☆ O:在当前行之上添加文本。
2.2.3 移动光标
☆ h:向在移动光标。
☆ j:向下移动光标。
☆ k:向上移动光标。
☆ l:向上移动光标。
☆ w:移动到下一个单词头。
☆ e:移动到单词尾。
☆ b:移动到上一个单词头。
☆ g:移动到指定行的第一个非空格字符处。
☆ 0:移动到行首。
☆ $:移动到行尾。
☆ %:移动到与当前括号匹配的括号处。
2.2.4 缓冲区操作
☆ x:删除当前字符并放入无名缓冲区中。
☆ X:删除光标前一字符并放入无名缓冲区中。
☆ dd:删除当前行并放入无名缓冲区中。
☆ yy:将当前行放入无名缓冲区中(不删除)。
☆ d:删除指定对象,并放入无名缓冲区中。对象是指由光标移动命令确定的文本块。
☆ y:将指定对象放入无名缓冲区中(不删除)。
☆ “:指定缓冲区名称。小写字母表示刷新指定缓冲区,大写字母表示向该缓冲区添加。
☆ p:从指定缓冲区(或者无名缓冲区)中取出文本,并添加到光标之后。
☆ P:从指定缓冲区(或者无名缓冲区)中取出文本,并添加到光标之前。
2.3 正则表达式与查找
2.3.1 正则表达式
正则表达式是普通字符和特殊字符(元字符)序列。正则表达式是功能更加强大的类似于文件通配符(*)的表达式。正则表达式通常用于查找字符串,在vi和命令行中大量使用。
正则表达式元字符有\、.、*、^、$、[和]。\表示将其后的元字符转义成普通字符。.(英文句号)表示任意一个字符。*表示任意字符串。表示^表示行首,在中括号里表示取非。$表示行尾。[和]表示匹配区间。举例如下:
^abc:行首三个字符为“abc”。
abc$:行尾三个字符为“abc”。
^$:空行。
ab[ab]c:字符串“abac”、“abbc”中的一个。
ab[a-z]c:前两个字符为“ab”,最后一个字符是“c”,中间有一个小写字母的字符串。
ab[^a-d]c:前两个字符为“ab”,最后一个字符是“c”,中间有一个不为a、b、c或者d的字符的字符串。
2.3.2 查找
在vi编辑器中的查找命令的用法为:
/Pattern    或者   ?Pattern
其中:Pattern指定查找模式(正则表达式)。
第一个命令向下查找,第二个命令向上查找。下面两个命令继续最后一次查找。
n           或者   N
第一个命令在相同方向上查找,第二个命令在相反方向上查找。
例如,要查找字符串“Your Name”或者“Your name”,则输入命令:
/Your [Nn]ame
可以在末尾行模式下的查找命令后执行其他的子命令,例如下面这个命令将文件中所有的字符串“Your Name”替换成“My Name”:
:/Your Name/s//My Name/g
再如,下面这个命令将所有包含字符串“Your Name”的行打印在屏幕上:
:/Your Name/p
2.4 vim和emacs基本上所有的UNIX都带有vi编辑器。而vim和emacs提供更加强大的功能。要在UNIX上使用vim和emacs,必须安装这两个软件包。这两个软件包均可在互联网上免费获得。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/84425/showart_2037374.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP