已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强 大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的, 因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)插入模式(Insert mode)底行模式(last line mode)1) 命令行模式command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按ESC键可回到命令行模式。3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。2、vi的基本操作a) 进入vi在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:$ vi myfile不过有一点要特别注意,就是您进入vi之后,是处于命令行模式(command mode),您要切换到插入模式(Insert mode)才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到 插入模式(Insert mode)再说吧!b) 切换至插入模式(Insert mode)编辑文件在命令行模式(command mode)下按一下字母i就可以进入插入模式(Insert mode),这时候你就可以开始输入文字了。c) Insert 的切换您目前处于插入模式(Insert mode),您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下ESC键转到命令行模式(command mode)再删除文字。d) 退出vi及保存文件命令行模式下保存并退出:输入ZZ在命令行模式(command mode)下,按一下:冒号键进入Last line mode,例如:: w filename (输入 w filename将文章以指定的文件名filename保存): wq (输入wq,存盘并退出vi): q! (输入q!, 不存盘强制退出vi):x (执行保存并退出vi编辑器)3、命令行模式(command mode)功能键1). 插入模式按切换进入插入模式,按“i”进入插入模式后是从光标当前位置开始输入文件;按a进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;按o进入插入模式后,是插入新的一行,从行首开始输入文字。2). 从插入模式切换为命令行模式按ESC键。3). 移动光标vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母h、j、k、l,分别控制光标左、下、上、右移一格。按ctrl+b:屏幕往“后”移动一页。按ctrl+f:屏幕往“前”移动一页。按ctrl+u:屏幕往“后”移动半页。按ctrl+d:屏幕往“前”移动半页。按gg:移动到文章的首行。(可能只在Vim中有效)按G:移动到文章的最后。按$:移动到光标所在行的“行尾”。按:移动到光标所在行的“行首”按w:光标跳到下个字的开头按e:光标跳到下个字的字尾按b:光标回到上个字的开头按#l:光标移到该行的第#个位置,如:5l,56l。Vi还提供了三个关于光标在全屏幕上移动并且文件本身不发生滚动的命令。它们分别是H、M和L命令。 (1)H命令 该命令将光标移至屏幕首行的行首(即左上角),也就是当前屏幕的第一行,而不是整个文件的第一行。利用此命令可以快速将光标移至屏幕顶部。若在H命令之前加上数字n,则将光标移至第n行的行首。值得一提的是,使用命令dH将会删除从光标当前所在行至所显示屏幕首行的全部内容。 (2)M命令 该命令将光标移至屏幕显示文件的中间行的行首。即如果当前屏幕已经充满,则移动到整个屏幕的中间行;如果并未充满,则移动到文本的那些行的中间行。利用此命令可以快速地将光标从屏幕的任意位置移至屏幕显示文件的中间行的行首。例如,在上面屏幕显示的情况下(不论光标在屏幕的何处),在命令模式下,输入命令M之后,光标都将移到add这一行的字母a上。同样值得一提的是,使用命令dM将会删除从光标当前所在行至屏幕显示文件的中间行的全部内容。 (3)L命令 当文件显示内容超过一屏时,该命令将光标移至屏幕上的最底行的行首;当文件显示内容不足一屏时,该命令将光标移至文件的最后一行的行首。可见,利用此命令可以快速准确地将光标移至屏幕底部或文件的最后一行。若在L命令之前加上数字n,则将光标移至从屏幕底部算起第n行的行首。同样值得一提的是,使用命令dL将会删除从光标当前行至屏幕底行的全部内容。 4). 删除文字x:每按一次,删除光标所在位置的“后面”一个字符。#x:例如,6x表示删除光标所在位置的“后面”6个字符。X:大写的X,每按一次,删除光标所在位置的“前面”一个字符。#X:例如,20X表示删除光标所在位置的“前面”20个字符。dd:删除光标所在行。#dd:从光标所在行开始删除#行5). 复制yw:将光标所在之处到字尾的字符复制到缓冲区中。#yw:复制#个字到缓冲区yy:复制光标所在行到缓冲区。#yy:例如,6yy表示拷贝从光标所在的该行“往下数”6行文字。p:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。6). 替换r:替换光标所在处的字符。R:替换光标所到之处的字符,直到按下ESC键为止。7). 恢复上一次操作u:如果您误执行一个命令,可以马上按下,回到上一个操作。按多次“u”可以执行多次回复。8). 更改cw:更改光标所在处的字到字尾处c#w:例如,c3w表示更改3个字9).撤销更改u:撤销上一次更改,可以一直按u,一直撤销到最旧修改状态。ctrl+r:恢复撤销的更改,可以一直按该组合键达到最新的改变。10). 跳至指定的行ctrl+g列出光标所在行的行号。#G:例如,15G,表示移动光标至文章的第15行行首。4、Last line mode下命令简介在使用last line mode之前,请记住先按ESC键确定您已经处于command mode下后,再按:冒号即可进入last line mode。A) 列出行号set nu:输入set nu后,会在文件中的每一行前面列出行号。B) 跳到文件中的某一行#:#号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。C) 查找字符/关键字:先按/键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按n会往后寻找到您要的关键字为止。?关键字:先按?键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按n会往前寻找到您要的关键字为止。D) 保存文件w:在冒号输入字母w就可以将文件保存起来。E) 离开viq:按q就是退出,如果无法离开vi,可以在q后跟一个!强制离开vi。wq:一般建议离开时,搭配w一起使用,这样在退出的时候还可以保存文件,可以在后面再跟!强制保存退出。ZZ:保存并退出vi。F) 语法加亮syntax on:vi编辑器默认不打开语法加亮功能,打开vi编辑器后在last line mode下使用syntax on命令即可打开语法加亮功能,此时编辑器会高亮显示文件中的关键字,方便编程使用,用syntax off命令可关闭该功能。它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。vim的这些优势主要体现在以下几个方面:1、多级撤消我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。2、易用性vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。3、语法加亮vim可以用不同的颜色来加亮你的代码。4、可视化操作就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。5、对vi的完全兼容某些情况下,你可以把vim当成vi来使用。我前段时间也下载使用了vim编辑器,我用的xp系统,之前在linux SUSE下也用过vi,个人感觉是vim相对于vi来说,扩展性更强了,以前使用vi时ctrl+s和ctrl+z之类的是不能用的(应该没有记错),但是vim就可以的。安装vim之后会有个vimrc文件,像高亮、字体等等所有的设置都可以写在里面的,你去网上找找vim配置文件,有牛人配置很强大。高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx 开始记录宏,并将结果存入寄存器xq 退出记录模式x 播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模式,然后输入x对刚才记录下来的命令进行重复,此命令后可跟数字,表示要重复多少次,比如x20,可以重复20次。这个在文本的批处理中是非常有用的。同时编辑多个文件在vim众多的插件中,有一个叫minibuffer的插件,就是下面所说的标签页功能了,可以支持同时编辑多个文件。标签命令:tabe fn 在一个新的标签页中编辑文件fngt 切换到下一个标签页gT 切换到上一个标签页:tabr 切换到第一个标签页:tabl 切换到最后一个标签页:tabm N 把当前tab移动到第N个tab之后对,正如你所想象的那样,跟eclipse, ue等的标签页是一个意思!窗口命令ctrl+w s 水平分割窗口ctrl+w w 切换窗口ctrl+w q 退出当前窗口(由于同时有多个文件,此命令不会影响其他窗口)ctrl+w v 垂直分割窗口其他vim在保存之前不会对文件做实际的修改,只是加载到缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件。:e file 把file加载到新的缓冲区中:bn 跳转到下一个缓冲区:bd 删除缓冲区(关闭文件):sp fn 分割窗口,并将fn加载到新的窗口中退出编辑器:w 将缓冲区写入文件,即保存修改:wq 保存修改并退出:x 保存修改并退出:q 退出,如果对缓冲区进行过修改,则会提示:q! 强制退出,放弃修改查找替换/pattern 向后搜索字符串pattern?pattern 向前搜索字符串patternn 下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)N 上一个匹配(同上):%s/old/new/g 搜索整个文件,将所有的old替换为new:%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换复制粘贴dd 删除光标所在行dw 删除一个字(word)x 删除当前字符X 删除前一个字符D 删除到行末yy 复制一行,此命令前可跟数字,标识复制多行,如6yy,表示从当前行开始复制6行yw 复制一个字y$ 复制到行末p 粘贴粘贴板的内容到当前行的下面P 粘贴粘贴板的内容到当前行的上面p 有缩进的粘贴,vim会自动调节代码的缩进a 将内容放入/存入a寄存器,可以支持多粘贴板附:比如常用的一个寄存器就是系统寄存器,名称为+,所以从系统粘贴板粘贴到vim中的命令为+p,注意此处的+不表示操作符,二十一个寄存器。移动光标在vim中移动光标跟其他的编辑器中有很大的区别,不过一旦学会了,就会飞速的在文本中移动了。h,j,k,l 上,下,左,右ctrl-f 上翻一页ctrl-b 下翻一页% 跳到与当前括号匹配的括号处,如当前在,则跳转到与之匹配的处w 跳到下一个字首,按标点或单词分割W 跳到下一个字首,长跳,如end-of-line被认为是一个字e 跳到下一个字尾E 跳到下一个字尾,长跳b 跳到上一个字B 跳到上一个字,长跳0 跳至行首,不管有无缩进,就是跳到第0个字符 跳至行首的第一个字符$ 跳至行尾gg 跳至文件的第一行gd 跳至当前光标所在的变量的声明处NG 跳到第N行,如0G,就等价于gg,100G就是第100行fx 在当前行中找x字符,找到了就跳转至; 重复上一个f命令,而不用重复的输入fxtx 与fx类似,但是只是跳转到x的前一个字符处Fx 跟fx的方向相反),( 跳转到上/下一个语句* 查找光标所在处的单词,向下查找# 查找光标所在处的单词,向上查找. 跳转至上次编辑位置在屏幕上移动H 移动光标到当前屏幕上最上边的一行M 移动光标到当前屏幕上中间的一行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吕梁市中阳县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 果洛藏族自治州甘德县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 抚顺市清原满族自治县2025-2026学年第二学期三年级语文第八单元测试卷(部编版含答案)
- 揭阳市惠来县2025-2026学年第二学期三年级语文期末考试卷(部编版含答案)
- 保健砭术师岗前发展趋势考核试卷含答案
- 重冶转炉工班组安全水平考核试卷含答案
- 尾矿工操作安全测试考核试卷含答案
- 2026年数字孪生工厂的虚拟调试平台
- 基因工程药品生产工安全风险知识考核试卷含答案
- 桂林市兴安县2025-2026学年第二学期三年级语文第八单元测试卷(部编版含答案)
- 2026年分析化学考研复试高频面试题包含详细解答
- 综合材料绘画综合材料绘画概述11第一节综合材料绘画的概念
- 《危险化学品安全法》与《危化品安全管理条例》条款对照表
- 吉林省四平市2026年中考物理押题卷(含答案解析)
- 赣州市属国企招聘笔试题库2026
- 2025年上半年黑龙江中医药大学佳木斯学院公开招聘专职思政教师3人笔试参考试题附答案解析
- 2025重庆市属事业单位第四季度招聘工作人员335人笔试考试备考试题及答案解析
- 2025年少先队辅导员技能大赛考试基础知识测试题附参考答案(共三套)
- 线束基础知识培训计划课件
- 盾构机司机安全培训课件
- 高校劳动教育课题申报书
评论
0/150
提交评论