免费注册 查看新帖 |

Chinaunix

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

vi常用命令 [复制链接]

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

                                               
使用vi很久了,回想起当时学习vi时的经历,觉得有必要记录下vi常用命令,希望对大家有用。
当时学习vi,主要是在书上或网上看使用命令,然后实践。很多书上都提到了vi的使用,但写的比较笼统,有些命令没有提到。不常用的命令提到了,常用的命令反而没提到,反而有点了混淆视听。而网上网友们提供的vi命令又太过于细了,不管常用不常用,提出来一堆命令,以至于学习没有重点。
基于此,我觉得有必要记录下vi常用命令,希望对大家有用。
(注:[color="#ff0000"]这里只记录我认为常用的命令)
vi有三种工作模式:指令模式、编辑模式和命令模式。
我们从打开vi说起,这样可以确定下学习环境,也方便学习者实践。
打开vi,当前模式即为指令模式,此时可以按a, i, 或o进入编辑模式,或按:(冒号)进入命令模式;进入编辑模式后,按Esc键则返回指令模式;命令模式只能由指令模式进入,命令模式下执行命令后,便自动返回指令模式。
[color="#ff0000"]1、指令模式:此时是不可编辑的,即此时只有按指令键,vi才有反应,否则,vi是不会我反应的。所以此模式下是不能编辑文件的。
[color="#0000ff"]a -- (指输入a,下同)进入编辑模式,在光标当前位置的后面进行输入 (注:中间的"--"是分隔栏,不是命令的一部分,下同)
[color="#0000ff"]i -- 进入编辑模式,在光标当前位置的前面进行输入
[color="#0000ff"]o -- (小写字母o)进入编辑模式,在光标当前行下面新插入一行,并将光标定位到新行的最前面
[color="#0000ff"]0 -- (数字0)仍然是指令模式,定位光标到当前行的最前面
[color="#0000ff"]$ -- (shift+4)仍然是指令模式,定位光标到当前行的最后面
[color="#0000ff"]j -- 仍然是指令模式,光标向下移动
[color="#0000ff"]k[color="#0000ff"] -- 仍然是指令模式,光标向上移动
[color="#0000ff"]h[color="#0000ff"] -- 仍然是指令模式,光标向左移动
[color="#0000ff"]l[color="#0000ff"] -- 仍然是指令模式,光标向右移动
[color="#0000ff"]G[color="#0000ff"] -- 仍然是指令模式,光标移动到文件的最后一行
[color="#0000ff"]nG[color="#0000ff"] -- (n是行数)仍然是指令模式,光标移动到文件的第n行
[color="#0000ff"]%[color="#0000ff"] -- 仍然是指令模式,如果光标当前位置的字符为大中小括号的一部分,则会自动定位到括号的另一部分,此命令用于代码的定位比较容易
[color="#0000ff"]x[color="#0000ff"] -- 仍然是指令模式,将光标当前位置的字符删除
[color="#0000ff"]ndd[color="#0000ff"] -- (n为行数)仍然是指令模式,将从光标当前行开始向后计算共n行,一起cut(剪切)。若n为1,则可不需输入,只需dd即可。
[color="#0000ff"]nyy[color="#0000ff"] -- (n为行数)仍然是指令模式,将从光标当前行开始向后计算共n行,一起copy(复制)。若n为1,则可不需输入,只需yy即可。
[color="#0000ff"]p[color="#0000ff"] -- 仍然是指令模式,粘贴内容到光标所在行的下面
[color="#ff0000"]2、编辑模式:
[color="#0000ff"]即为输入模式,就和运行windows平台的记事本一样。键入什么,则输入什么。
[color="#ff0000"]3、命令模式:
[color="#0000ff"]在指令模式,键入:(冒号)则进入命令模式,光标也会自动定位到vi程序的最下面一行,然后在:(冒号)后面相关命令,然后"回车"即可。命令执行后,会自动返回指令模式。
[color="#0000ff"]:x -- 保存并退出
[color="#0000ff"]:wq -- 同上
[color="#0000ff"]:q! -- 不保存,然后退出
[color="#0000ff"]:n -- (n为行数)光标跳转到第n行
[color="#0000ff"]:1,$s/aa/bb/g -- 从第1行到文件的最后一行(整个文件),将aa替换为bb,不提示全部替换
[color="#0000ff"]:1,$s/aa/bb/g -- 同上,只是每发现一个aa,则会提示是否替换
[color="#0000ff"]:set nu -- 设置显示行号
[color="#0000ff"]:set nonu -- 设置不显示行号
[color="#0000ff"]:set ts=n -- (n为数字)设置Table显示为n个字符的宽度,只是显示,而不是替换
[color="#0000ff"]/xxx --(xxx为查找的内容)向下查找(不需要冒号)
[color="#0000ff"]?xxx --(xxx为查找的内容)向上查找[color="#0000ff"](不需要冒号)
[color="#0000ff"]# --(shift+3)[color="#0000ff"]向上查找光标当前所在位置的单词(不需要冒号)
[color="#0000ff"]' --(引号键)在当前行和上一次查找结果前切换,可多次使用(不需要冒号)
[color="#0000ff"]
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/90322/showart_1883953.html

论坛徽章:
0
2 [报告]
发表于 2009-04-03 09:05 |只看该作者
好,正需要这样的文章啊。楼主太好了。很适合从Win平台转移过来的人。

论坛徽章:
0
3 [报告]
发表于 2009-04-09 14:52 |只看该作者
很好啊。呵呵

论坛徽章:
0
4 [报告]
发表于 2009-04-29 20:10 |只看该作者
如何做批量替换???

论坛徽章:
0
5 [报告]
发表于 2009-06-07 23:34 |只看该作者
找本<学习vi第六版>
你会发现更多的好东西呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP