免费注册 查看新帖 |

Chinaunix

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

vi常用指令 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-04 15:49 |只看该作者 |倒序浏览

在winger哪里看到~~~~copy下来以备学习之用`~~
vi常用指令
vi全屏幕编辑器
vi(Visual)是以视觉为导向的全屏幕编辑器、共分为三种方式(mode):
command方式:
?任何输入都会作为编辑命令,而不会出现在屏幕上,若输入错误则有“岬”的声音;任何输入都引起立即反

insert方式:
?任何输入的数据都置于编辑寄存器。在command方式下输入(I,a,A等),可进入insert方式,insert方式下按
ESC,可跳回command方式。
escape方式:
以“:”或者“/”为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别指令。
进入vi(在系统提示符下面输入以下指令):
vi ????????? 进入vi而不读入任何文件
vi filename????? 进入vi并读入指定名称的文件(新、旧文件均可)。
vi +n filename????进入vi并且由文件的第几行开始。
vi +filename ???? 进入vi并且由文件的最后一行开始。
vi + /word filename ?进入vi并且由文件的word这个字开始。
vi filename(s) ??? 进入vi并且将各指定文件列入名单内,第一个文件先读入。
vedit???????? 进入vi并且在输入方式时会在状态行显示“INSERT MODE"。
删除指令
nx??????????删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)
nX ????????? 删除由光标位置起始的n个字符(不含光标位置)。
ndw????????? 删除光标位置其实的n个字符组(word)。
d0 ????????? 将行的开始到光标位置的字符全部删除。
d$ 或D ??????? 将光标位置起始到行尾的字符全部删除。
ndd ?????????将光标位置起始的n行(整行)删除(dd表示删除光标所在行)。
:start,endd????? 删除文件的第start到end行。
光标移动
[?????????? 移到文件开始位置
]?????????? 移到文件结束位置
nk??????????向上移n行
n+??????????向上移n行,光标在该行的起始
ni ????????? 向下移n行
n-??????????向下移n行,光标在该行的起始
H?????????? 移到屏幕的左上角
M?????????? 移到屏幕的中间行开头
L?????????? 移到屏幕的最后一行
G?????????? 移到文件的最后一行
nG或者:n???????移到文件的第n行
Ctrl + u???????屏幕上卷半个菜单
Ctrl + d ?????? 屏幕下卷半个菜单
Ctrl + b ?????? 屏幕上卷一个菜单
Ctrl + F ?????? 屏幕下卷一个菜单
寻找指令
/text???????? 从光标位置往下找字串text
?text???????? 从光标位置往上找字串text
n?????????? 继续找下一个字串(在输入上面的寻找指令之后使用)
寻找并且取代指令
:getxt1/s/ /text2/options ??将各行的text1替换为text2
???????????????option=g表示文件中所有的text1均被取代,若未输入任何option,则只有?
??????????????各行中的第一个出现的text1被取代
???????????????option=go 在屏幕显示各取代的行
???????????????option=gc 在每个字串取代之前要求确认?
Start,endgtext1/s/ / text2/options ?同上,只寻找并取代第start~end行。 或:Start,ends/text1/text2/options
复制及移动文件
:first,last co dest ?????将first 到last行的数据复制到目标行(dest)下面
:Start,end?m dest??????将start 到 end行的数据移动到目标行(dest)下。???
:r filename????????? 将指定文件的内容读入光标所在行下。
nY ????????????? 将光标所在位置开始的n行数据暂存
p?????????????? 复制暂存数据在光标的下一行
P?????????????? 复制暂存数据在光标的上一行
其他命令
.?????????????? 重复前一指令
u?????????????? 取消前一指令
Ctrl + l???????????刷新屏幕显示
:set number????????? 显示文件的行号,但不会存文件
:set nonumber???????? 解除行号显示


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP