加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 vi中文手册vim_user_manual_603.0

vi中文手册vim_user_manual_603.0.pdf

vi中文手册vim_user_manual_603.0

mydpan
2010-11-04 0人阅读 举报 0 0 暂无简介

简介:本文档为《vi中文手册vim_user_manual_603.0pdf》,可适用于IT/计算机领域

封面|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||用户手册作者:BramMoolenaar翻译:ZhaoRuFei版本:slimzhaohotmailcom从该版本开始,该中文文档的主版本将与软件的版本保持一致前言译者前言不要试图从本手册中去获取什么知识,使用Vim更多的是一种技能而不是一种知识,Vim的学习需要的更多的不是头脑而是双手,经常按书中的指示进行示例性的操作,在学习Vim众多精致的技巧时,不要贪图一下子全都掌握,最好是看一条技巧后,马上在编辑器上进行操作,这样在以后实际的编辑操作时你的手指就会建立一种自然的反应而不是由头脑来搜索该使用哪一条操作技巧建议读者不动手来不读书如果手边没有一个合适的Vim编辑器环境可供操练,那么建议读者还是不要在这里浪费时间如果读者是在气温比较低的条件下阅读此书从而增加了你动手的惰性时,也请不要浪费时间,这会严重影响学习的效果虽然本书鼓励读者多动手,但也绝非说一点不要动脑,相反,Vim中多达几百个的命名与操作方式有它自己的规律可循,在你的手指能对要完成的编辑任务条件反射之前,最好还是由头脑做一点辅助经常总结自己最经常进行的操作为这些操作找出最简练的办法来,在每学习一条新的操作之前与自己以前的编辑经验比较一下,找出节省你敲击键盘次数的捷径来是提升Vim经验值的不二法门其实,Vim与其它编辑器一个很大的区别在于,它可以完成复杂的编辑与格式化功能在这些领域还少有软件能与它分庭抗礼,但是,与所有的灵活性的代价一样,你需要用自己的双手来实现它这在事实上造成了用户在使用Vim过程中的几个自然阶段一开始是notepad,word,edit垄断你的大脑,这些东西根深蒂固,挥之不去Vim的使用对你而言是一场噩梦,它降低而不是提高了你的工作效率对三种工作模式的不解甚至使你认为它是一个充满BUG或者至少是一个古怪的与当今友好用户界面设计严重脱节的软件事实上,这些起初看起来古怪的特性是Vim(或者是vi)的作者和它的用户们在自己漫长的文字编辑和程序设计生涯中总结出来的最快速最实在的操作,在几乎等于计算机本身历史的成长期中,历经无数严厉苛刻的计算机用户的批评与检验,无用的特性或糟糕的设计在Vim用户群面前根本就没有生存的余地Vim细心而谨慎的作者们也不允许自己精心设计的软件里有这样的东西第二个阶段你开始熟悉一些基本的操作,这些操作足以应付你日常的工作,你使用这些操作时根本就不假思索但这些阶段你仍然很少去碰Vim那晦涩的在线帮助文档它在你心里只是notepad,edit一个勉强合格的替代品第三个阶段,精益求精的你不满足于无休无止的简单操作,冗长而乏味,有没有更好的办法可以驭繁于简于是,从UNIX参考手册上,从同事口中,你渐渐叩开:helpxxx的大门开始探索里面充满魔力的咒语从杂耍般的带有表演性质的技巧开始,这些技巧令人眩目但少有实用性不过这却是你拥有魔力的第一步接下来,你开始认识到这些咒语背后的真经,开始偷偷修改一些奇怪的符号,于是,奇迹产生了,魔力不但仍然有效,而且真实地作用于你现实中的文字编辑生活你前言在第二阶段由于熟练操作而尘封已久的大脑突然开始运作但这个过程并非是达到某个临界状态后的一路坦途,不断的挫折,新的挑战,看似MissionImpossible的任务永远伴随着任何一个人的任何一个学习过程这是你使用Vim的最后一个阶段,也是最漫长最有挑战性同时也充满无数奇趣的阶段这个阶段里你开始定制一些希奇古怪的颜色开始以敲入in来输入internationalization,开始让Vim替你纠正经常把the误敲成teh的毛病,开始让Vim与系统里各种精悍而强大的兄弟工具进行合作,开始写越来越长的script,每一次的文本编辑体验都妙趣横生高潮跌起你的头脑因为要用Vim完成高效的编辑而高度紧张你开始在Vim邮件列表里提一些确实是问题的问题也开始发现你在Vim里做了以前在SHELL里做的几乎一切事事实上你已经成了一个无可救药的Vim骨灰级玩家以上就是一个Vim用户的精神之旅本文档仍在进一步完善中,原因有三,一为技术本身,译者虽在Vim的大量命令、选项中饱经浸染,但不敢妄言说了解Vim的方方面面,二为翻译,有些译法有些术语欠妥,我自己换个时间看感觉就不一样,此一时也,彼一时也三为用LATEX制作期间,又因LATEX中对一些符号的特殊处理引入的错误以我一己之力要字斟句酌实在难为,犹豫再三,还是拿出来献丑,把它放在众人的显微镜下,任何错误、翻译术语的建议、错别字可以email给slimzhaohotmailcom下面是手册中关于这份文档的版权,我举双手双脚赞成TheVimusermanualandreferencemanualareCopyright(c)byBramMoolenaarThismaterialmaybedistributedonlysubjecttothetermsandconditionssetforthintheOpenPublicationLicense,vorlaterThelatestversionispresentlyavailableat:http:wwwopencontentorgopenpubPeoplewhocontributetothemanualsmustagreewiththeabovecopyrightnotice附录是由我翻译的几篇有关Vim的文章slimzhaohotmailcom关于版关于版版与版有如下改动:段首的缩进改为个汉字的宽度,看起来更舒服一些(或更不舒服一些)修改了书签在Acrobat中显示出现乱码的问题该问题在AcrobatReader的版本和版本中均有不同程度的表现第章第小节的第一行的===============此时使用命令”与===============中的命令应为感谢钱震(qzhenflotuorg)提供修改建议和关于gbkuniexe的信息感谢CTex的所有制作人员和论坛的热心网友们关于版关于版为什么一下跳到了我最新得到的VIM是,它的文档与我最初翻译所基于的有少许不同这使我萌生了将文档更新至最新版本的想法那么,为何不让中文版与软件保持同步呢与版相比有如下改动:(A)版与版居然都缺了usrtxt,usrtxt,usrtxt,usrtxt这个文件,这个文件与其它文件是一并翻译完毕的,打包处理时竟漏掉了(B)将文档中所有出现的示例性的代码,shell命令,屏显样例,都重新格式化,如下:excommand:auBufRead*tipsetftip看起来更醒目一些我把示例性的代码分为类一类是上面显示的这种,Vim中的命令行模式,标题是excommand,另外种分别是:normalmodecommandVim的normal模式命令,特点是没有冒号打头如normalmodecommandgg=Gshellcommand多数情况下为unix类系统下的shell命令,也可能是windowsOS的DOSBOX中的命令如:shellcommandenvLANG=deDEISOvimDisplay对应于一个命令执行完之后的屏幕显示结果,或操作的某种中间状态如:关于版Display:!make|teetmpvimerrgccgWalloprogmaincsubcmainc:Infunction'main':mainc::toomanyargumentstofunction'dosub'mainc:Attoplevel:mainc::parseerrorbefore'}'make:***progErrorreturned"mainc"L,C(of):toomanyargumentstofunction'dosub'HitENTERortypecommandtocontinueList显示的是一系列列表值,如:Listr在Insert模式下按下回车时插入一个星号o在Normal模式下按"o"或"O"时插入一个星号c根据'textwidth'的设置自动为注释断行code,如:codewhilei<b{ifa{b=c}}url,如:URLhttp:wwwclcamacuk~mgkdownloaducsfontstargz(C)把混杂在汉字中的英文的默认字体改成了cmtt,即computermoderntypewriter,个人品味,比cmr(computermodernroman)好看除了个别的情况,如显示Latex系统中的标志性建筑LATEX时用的还是cmr,如果用cmtt就会是这样:LATEX中间那个A显得很萎缩(D)文档内也加了超级链接,但只限于这份中文用户手册内部,如果指向参数手册的文档,则没有超级链接,目前这份中文文档只限于用户手册另外指向外部的URL也能打开你的默认浏览器了指向email地址的也会打开你的默认mail程序关于版(E)所有的双引号不再显示为‘‘’’(LATEX风格),也不是汉字中的“”,而显示为最朴素的"",同样,以前显示为’的字符,在该版本中显示为',这样的目的一是为了与原文档的风格更接近,再者也更悦目一些而正反斜杠的显示为hellohi,粗粗壮壮看上去很厚道。不象这样hi。上下都长出一截看起来突兀(F)对一些原文档中特殊显示的元素以同样的风格高亮起来,如CTRLN,<Esc>(G)修改了一些BUG,对不那么顺畅的词句重新修遣一番对原来译文中留下的一些不甚了了的技术问题仔细对照文档,试验,修改,添加(H)加了背景色,PDF不比HTML,你打开HTML源文件加一个bgcolor就可以改改背景色这是个小问题,但是PDF中显示汉字有一个笔画太淡的问题这在各种PDF制作或Tex相关的论坛上也是一个热门话题看起来对比度不够现在的这个背景能让汉字显得更清晰一些另外本文档拟提供一个内嵌字体的伴生版其中的字体不是宋体,是文鼎公司贡献给自由软件社区的PL简报宋(PublicLicense,不是PiaoLiang)这个字体比起windows自带的宋体字着墨要浓一些当然这也导致文件会比较大TODO:似乎每解决一个问题,都会引起更多新的问题比如,好不容易找到了一些叫upquote的LATEXpackage,也能把原来的’变成现在的'了可是却发现普通文字中的这个符号与示例代码中的显示不一样,后者显示出来的更粗壮一些通过fancyvrb把示例代码弄得更好看一些了,可是却发现那个圈起来的框框有时候罩不住里面的文字里面的文字太长了这些虽是小问题,终究让人不爽我不是LATEX专家,这些鸡毛蒜皮的事可TMD费功夫了,虽然现在这个样子我还不是很满意,但总得把它锁定到一个状态就这了第章目录*usrtoctxt*Vim版最后修改:年月日VIM用户手册作者:BramMoolenaar翻译:slimzhaohotmailcom目录*usermanual*概览起步|usrtxt|关于本手册|usrtxt|Vim第一步|usrtxt|移动|usrtxt|小幅改动|usrtxt|定制你的Vim|usrtxt|使用语法高亮|usrtxt|编辑多个文件|usrtxt|分隔窗口|usrtxt|使用GUI|usrtxt|大刀阔斧|usrtxt|灾难恢复|usrtxt|奇技淫巧高效编辑|usrtxt|加速冒号命令|usrtxt|进退之间|usrtxt|查找要编辑的文件|usrtxt|非文本文件|usrtxt|快速键入|usrtxt|编辑格式化文本|usrtxt|重复重复,再重复|usrtxt|搜索命令和模式|usrtxt|折行第章目录|usrtxt|之于程序|usrtxt|程序的编辑|usrtxt|探索GUI打造Vim|usrtxt|定义新命令|usrtxt|Vim脚本|usrtxt|增加新菜单|usrtxt|文件类型|usrtxt|自定义语法高亮文件|usrtxt|选择语言运转Vim|usrtxt|安装Vim可以在下面的地址中找到以单个文件组织的可打印版的HTML或PDF格式用户手册:http:vimdocsfnet起步请从头至尾细读本章,本章讲述Vim的基本命令|usrtxt|关于本手册||两套帮助||关于安装||使用Vim教程||版权|usrtxt|Vim第一步||首次运行Vim||插入文本第章目录||移动光标||删除字符||撤消与重做||其它编辑命令||退出||求助|usrtxt|移动||以Word为单位的光标移动||将光标移到行首或行尾||将光标移动到指定的字符上||将光标移动到匹配的括号上||将光标移动到指定的行上||告诉你当前位置||滚屏||简单的搜索||简单的模式搜索||使用标记|usrtxt|小幅改动||操作符命令和位移||改变文本||重复改动||Visual模式||移动文本||复制文本||使用剪贴板||文本对象||替换模式||结论|usrtxt|定制你的Vim||vimrc文件||vimrc示例||简单的映射||增加一个plugin||增加一个帮助文件||选项设置窗口||常用选项第章目录|usrtxt|使用语法高亮||打开色彩||没有色彩或色彩错误||不同的颜色||有色或无色||彩色打印||进一步的学习|usrtxt|编辑多个文件||编辑另一个文件||文件列表||切换到另一文件||备份||在文件间复制粘贴||查看文件||更改文件名|usrtxt|分隔窗口||分隔一个窗口||为另一个文件分隔出一个窗口||窗口大小||垂直分隔||移动窗口||针对所有窗口操作的命令||使用vimdiff查看不同||其它|usrtxt|使用GUI||GUI的各部分||使用鼠标||剪贴板||选择模式|usrtxt|大刀阔斧||命令的记录与回放||替换第章目录||使用作用范围||全局命令||可视块模式||读写文件的部分内容||格式化文本||改变大小写||使用外部程序|usrtxt|灾难恢复||基本方法||交换文件在哪||是不是死机了||进一步的学习|usrtxt|奇技淫巧||替换一个word||将"Last,First"改为"FirstLast"||排序||反转行序||统计字数||查找帮助页||消除多余空格||查找一个word在何处被引用高效编辑此类主题可以独立阅读|usrtxt|加速冒号命令||命令行编辑||命令行缩写||命令行补齐||命令行历史记录||命令行窗口译:仅对Unix类系统有意义第章目录|usrtxt|进退之道||挂起与恢复||执行shell命令||记住相关信息:viminfo||会话||视图||模式行|usrtxt|查找要编辑的文件||文件浏览器||当前目录||查找一个文件||缓冲区列表|usrtxt|非文本文件||DOS,Mac和Unix格式的文件||来自因特网的文件||加密文件||二进制文件||压缩文件|usrtxt|快速键入||校正||显示匹配字符||自动补全||重复录入||从其它行复制||插入一个寄存器的内容||缩写||键入特殊字符||键入连字符||Normal模式命令|usrtxt|编辑格式化文本||段行||文本对齐第章目录||缩进和制表符||处理长行||编辑表格|usrtxt|重复重复,再重复||Visual模式的重复||加与减||对多个文件做同样的改动||在一个shell脚本中使用Vim|usrtxt|搜索命令和模式||忽略大小写||绕回文件头尾||偏移||多次匹配||多选一||字符范围||字符分类||匹配一个断行||例子|usrtxt|折行||什么是折行||手工折行||使用折行||保存和恢复折行||根据缩进的折行||根据标记的折行||根据语法的折行||根据表达式折行||折叠未有改变的行||使用何种折行方法|usrtxt|之于程序||使用tags||预览窗口第章目录||在程序中移动||查找全局标识符||查找局部标识符|usrtxt|程序的编辑||编译||C程序的缩进||自动缩进||其它语言的缩进||跳格键与空格||注释的格式化|usrtxt|探索GUI||文件浏览器||确认||菜单命令的快捷键||Vim的窗口位置和大小||其它调节Vim让Vim如你所愿地工作|usrtxt|定义新命令||键映射||自定义冒号命令||自动命令|usrtxt|Vim脚本||介绍||变量||表达式||条件语句||执行一个表达式第章目录||使用函数||函数定义||注意事项||定制一个plugin||定制一个文件类型相关的plugin||定制一个编译相关的plugin|usrtxt|增加新菜单||介绍||菜单操作命令||其它||工具栏和弹出式菜单|usrtxt|文件类型||文件类型的插件||添加一种文件类型|usrtxt|自定义语法高亮文件||基本的语法命令||关键字||匹配||区域||嵌套||后续组||其它参数||聚簇||包含另一个语法文件||同步||安装一个语法文件||可移植语法文件的布局要求|usrtxt|选择语言||用于消息的语言||用于菜单的语言||使用另一种编码方法||编辑另类编码方案的文件||输入第章目录运转VimVimming之前|usrtxt|安装Vim||Unix||MSWindows||升级||常见问题||卸载Vim版 权:请参考|manualcopyright|vim:tw=:ts=:ft=help:norl:第章关于本手册*usrtxt*Vim版最后修改:年月日VIM用户手册作者:BramMoolenaar关于本手册本章介绍Vim的帮助系统本文将使你了解到Vim的帮助中解讲每个命令时的假设环境||两套帮助||关于安装||使用Vim教程||版权下一章:|usrtxt|迈出第一步目 录:|usrtoctxt|**两套帮助Vim的文档由两部分组成:用户手册面向问题,由浅入深进行讲解可以象读一本书一样从头至尾进行学习参考手册详述Vim方方面面的细节这些手册中用到的一些约定的记法可以在|notation|中找到跳转两个管道符之间的超级链接可以使你直接跳转到对该主题的解释处或者是对相应的编辑任务的应对之计,或者是对它的功能进行详尽的解释牢记下面的两个命令:ListCTRL跳转到当前光标所在单词对应的主题CTRLO回到前一个位置译:不要误会这样的说法,Vim中超级链接的实现跟HTML中不一样,<ahref=#somewhere>clickhere<a>中的clickhere跟作为普通文本的"clickhere"是不一样的,单击前者会跳转,后者不会而Vim中两个管道符圈起一个词条作为一个帮助主题并不是说只有将光标置于此处按CTRL才可跳转,它是说明性的,如果普通文本中碰巧有一个单词跟某个帮助主题相同,在它上面施以CTRL效果也完全一样第章关于本手册很多的链接都写在两个管道符中,象这个:|bars|一个选项,如'number',或者是一个命令如":write",或者任何其它的词都可以作为一个超级链接试一下移动光标到CTRL上按下CTRL其它的帮助主题可以通过":help"命令来访问,请参考|helptxt|**关于安装手册中假设你已正确地安装了Vim如果你还没有,或者装了但不能运行(比如找不到文件或GUI菜单显示不出来),请先阅读关于安装的手册:|usrtxt|*notcompatible*手册中也假设你是在Vi兼容模式关闭的情况下使用Vim的对绝大多数命令来说是否是Vi兼容都没有问题,但有时这一点会变得很重要,比如对于多级撤消保证你进行正确设置的最简单办法就是复制一个样板vimrc文件在VIM内部复制的话你甚至无需知道它的具体位置,不过文件名因系统而异:Unix:excommand:!cpi$VIMRUNTIMEvimrcexamplevim~vimrcMSDOS,MSWindows,OS:excommand:!copy$VIMRUNTIMEvimrcexamplevim$VIMvimrcAmiga:excommand:!copy$VIMRUNTIMEvimrcexamplevim$VIMvimrc如果同名文件已经存在你也许还想保留下来如果你现在启动Vim,'compatible'选项应该是关闭的下面的命令可以检查它的设置:excommand:setcompatible如果结果是'nocompatible'就对了如果是"compatible"可就麻烦了你要找找看为什么这个选项还是这样的设置也许是上面的文件没找到下面的命令可以告诉你它的位置:excommand:scriptnames第章关于本手册如果你的配置文件没有在这个列表中,你需要检查一下它的位置和名字如果在,那一定是别的什么地方把'compatible'选项给打开了详情请参考|vimrc|和|compatibledefault|备注:本手册是关于以常规方式使用Vim还有一个叫"evim"(easyvim)的程序它也是Vim但是被改装成了类似于Notepad的风格它总是处于Insert模式,感觉很难受本手册不对此提供帮助,因为它太简单了,一看就会关于它的细节请参考|evimkeys|**使用Vim教程除了阅读文档(无聊!)你还可以用vimtutor来开始学习Vim的简单命令这是一个大概分钟的教程,它会教给你最常用的基本操作在Unix和MSWindows上,如果Vim安装好了,你可以这样进入该教程:shellcommandvimtutor它会复制一份教程文件,这样你可以在其中放心地练习,不用担心破坏了原来的内容本教程有几个译本要看看你的本国语是否已被翻译,可以在命令后加两个字符的语言代码试试,如对法语:shellcommandvimtutorfr对于OpenVMS系统,如果VIM已正确安装,可以用下面的命令进入教程:shellcommandVIM:vimtutor在其它系统上,你可要费点小事:复制教程文件你可以在VIM中做(它知道文件的位置):shellcommandvimuNONEc'e$VIMRUNTIMEtutortutor'c'w!TUTORCOPY'c'q'本,只需在文件名后追加它的对应的两个字符的语言代码,比如对法语:第章关于本手册shellcommandvimuNONEc'e$VIMRUNTIMEtutortutorfr'c'w!TUTORCOPY'c'q'vimuNONEc"setnocp"TUTORCOPY这两个参数会让Vim更happy一些学完后把教程文件删掉delTUTORCOPY**版权*manualcopyright*Vim用户手册和参考手册的版权声明:版 权c©byBramMoolenaar只有遵循"开放出版许可证"及更新版本中的条件方可散布该资料,该许可证的最新版位于:http:wwwopencontentorgoplshtml希望为该手册贡献心力者必须同意上面的版权声明*frombook*本手册的部分内容来自SteveOualline的¿ViIMprovedVimÀ一书(由NewRiders出版公司发行,ISBN:)"开放出版许可证"也同样适用于该书,该书被本手册引用的部分也已作出修改(比如,去掉了一些图片,更新了一些Vim版相关的内容以及修改了一些错误)没有|frombook|标签的地方可并不是说一定就不是来自该书多谢SteveOualline和NewRiders出版社制作了该书并以OPL的形式出版!它对我写这份手册大有帮助不光是因为它提供了文字素材,也决定了这份手册的风格和基调如果你通过出售该手册谋利的话,我强烈建议你把部分收益捐助给乌干达的爱滋病患者请参考|iccf|下一章:|usrtxt|迈出第一步版 权:请参考|manualcopyright|vim:tw=:ts=:ft=help:norl:第章Vim第一步*usrtxt*Vim版最后修改:年月日VIM用户手册作者:BramMoolenaarVim第一步本章仅提供可以让你开始用Vim编辑文件的必要技巧所用的方法可能既不是最好的也不是最快的它只是让你有一个开端你最好花些时间去实际应用一下这些命令,它们是进一步学习的基础||首次运行Vim||插入文本||移动光标||删除字符||撤消与重做||其它编辑命令||退出||求助下一章:|usrtxt|移动前一章:|usrtxt|关于本手册目 录:|usrtoctxt|**首次运行Vim命令:shellcommandgvimfiletxt可以启动Vim在UNIX下你可以直接在命令行上键入该命令,但如果你用的是MicrosoftWindows,就需要在一个MSDOS命令行窗口中键入上面的命令使Vim开始编辑一个名为filetxt的文件因为这是一个新文件,所以你会看到一个空的窗口屏幕上看起来大致是这样:第章Vim第一步Display|#||~||~||~||~||"filetxt"Newfile|("#"代表当前光标位置)上波浪线(~)表示所在行并不是文件内容的一部分换句话说,Vim将文件之外的部分显示为波浪线在窗口的底部,一个消息行显示说当前正在编辑的文件叫filetxt,它是一个新文件显示的消息总是临时性的,系统中显示的其它消息会覆盖掉前面的消息VIM命令gvim命令使编辑器打开一个新的窗口进行编辑如果你用的是命令:shellcommandvimfiletxt就会在当前的命令行窗口中打开编辑程序或者说,你在运行xterm的话,编辑用的窗口就是你当前的xterm窗口如果你用的是MicrosoftWindows下的MSDOS命令行窗口,编辑器就在该命令行窗口中打开两种情况下窗口中显示的内容都是一样的,但是用gvim的话可以使用额外的功能,如菜单等**插入文本Vim编辑器是一个模式编辑器这意味着在不同状态下编辑器有不同的行为模式两个基本的模式是Normal模式和插入模式在Normal模式下你键入的每一个字符都被视为一个命令而在Insert模式下键入的字符都作为实际要输入的文本内容刚启动时Vim工作于Normal模式要进入Insert模式你需要使用"i"命令(i意为Insert)接下来就可以直接输入了别怕出错,错了还可以修改比如下面这首程序员的打油诗:DisplayiAveryintelligentturtleFoundprogrammingUNIXahurdle第章Vim第一步"turtle"之后你按下回车键另起一行最后按下<Esc>键退出Insert模式回到Normal模式现在你的Vim窗口中有了这样的两行内容:Display|Averyintelligentturtle||FoundprogrammingUNIXahurdle||~||~|||现在是什么模式要知道你现在所处的工作模式是什么,打开显示模式的开关:excommand:setshowmode你会看到按下冒号键之后当前光标跑到窗口的最后一行去了那是使用冒号命令的地方(顾名思义,冒号命令就是总是以冒号打头的命令)最后按下回车键结束整个命令(所有的冒号命令都以这种方式表明命令的结束)现在,如果你键入了"i"命令Vim就会在窗口底部显示INSERT这表明你目前处于Insert模式Display|Averyintelligentturtle||FoundprogrammingUNIXahurdle||~||~||INSERT|如果按下<Esc>键返回到Normal模式刚才显示出来的模式"INSERT"就会消失模式之灾Vim新手最头痛的问题就是模式经常忘记自己置身于何种模式,或者不经意敲了哪个字符就切换到别的模式去了不管你当前所处的模式是什么,按下<Esc>都会让你回到Normal模式(即使已经在Normal模式译:Normal模式并不会显示NORMAL,作为默认的工作模式它不显示任何字串第章Vim第一步下)有时需要按两次<Esc>,如果Vim以一声蜂鸣回答你,那说明你已经是在Normal模式了**移动光标回到Normal模式后,你就可以用下面的命令来移动光标:Listh左j下k上l右人们一开始会认为这些字符是随意选取的毕竟有谁拿l来代表right呢但事实上,这些字符都是精心挑选的:在编辑器中移动光标是十分常用的操作,这些字符在键盘上都分布在你右手周围这样的安排可以使你最快最方便地使用它们(尤其是是对那些用十个手指而不是二指禅用户而言)备注:同时你还可以用箭头键来移动光标不过这样做实际上会大大降低你的效率因为用这些键你需要不停地在字母区和箭头键之间频繁转换想象一下要是你在一小时内这样做一百次会占用你多少时间另外,并不是每个键盘上都安排有箭头键,或者都把它们放在最常见的位置所以使用hjkl还是大有好处记住这些命令的一个办法是通过它们在键盘上的布局:h在左边,l在右边,j指向下面khlj但学习这些命令的最好办法不是使用什么记忆法,而是练习你可以用"i"命令来在Insert模式下输入一些内容,然后用hjkl命令将光标移到别处再插入另外的内容,不要忘了要用<Esc>来回到Normal模式|vimtutor|也是学习这些命令的一个好去处对于日本的用户来说,HiroshiIwatani有如下建议:译:在google的新闻组上还有人写了一首诗来表达这种困扰,可惜我再没找到它了第章Vim第一步DisplayKomsomolsk^|HuanHo<>LosAngeles(Yellowriver)|vJava(theisland,nottheprogramminglanguage)**删除字符要删除一个字符,只需要将光标移到该字符上按下"x"(这是在追忆古老的打字机时代,在打字机上删除字符就是用xxxx来覆盖它)把光标移到上面例子中的第一行,键入xxxxxxx(个x)来删除"Avery"结果如下:Display|intelligentturtle||FoundprogrammingUNIXahurdle||~||~|||现在你可以键入其它内容了,比如:DisplayiAyoung<Esc>首先键入的命令是i(进入Insert模式),接着插入"Ayoung",然后退出Insert模式(最后的<Esc>)结果是:Display|Ayoungintelligentturtle||FoundprogrammingUNIXahurdle||~||~|||删除一行删除一整行内容使用"dd"命令删除后下面的行会移上来填补空缺:第章Vim第一步Display|FoundprogrammingUNIXahurdle||~||~||~|||删除换行符在Vim中你可以把两行合并为一行,也就是说两行之间的换行符被删除了:命令是"J"比如下面的两行:DisplayAyoungintelligentturtle将光标移到第一行上然后按"J":DisplayAyoungintelligentturtle如果你误删了过多的内容显然你可以再输入一遍,但是命令"u"更简便,它可以撤消上一次的操作实际看一下它的效果,用"dd"命令来删除前面例子中的第一行内容,"u"命令会把它找回来另一个例子:将光标移到第一行的A上:DisplayAyoungintelligentturtle现在用命令xxxxxxx来删除"Ayoung"结果如下:Displayintelligentturtle键入"u"来撤消最后的一次删除最后被删除的是字符g,所以撤消操作恢复了这个字符:Displaygintelligentturtle译:不要误解为它只能删除最后一次的操作,它也可以删除上上次,上上上上次的操作第章Vim第一步下一个u命令将恢复倒数第二次被删除的字符:Displayngintelligentturtle再下一次是字符u,如此如此:DisplayungintelligentturtleoungintelligentturtleyoungintelligentturtleyoungintelligentturtleAyoungintelligentturtle备注:如果你按下"u"两次结果是两次找回了同样的字符,那说明你的Vim配置成Vi兼容模式了在|notcompatible|可以找到这一问题的对策这个例子假设你的Vim使用的是Vim的方法如果你更喜欢老的Vi编辑器的做法,你就要留心两者在这方面的细微差别重做如果你撤消了多次,你还可以用CTRLR(重做)来反转撤消的动作换句话说,它是对撤消的撤消实际按两次CTRLR试试它的效果,字符A和它后面的空格又出现了:Displayyoungintelligentturtle撤消命令还有另一种形式,"U"命令,它一次撤消对一行的全部操作第二次使用该命令则会撤消前一个"U"的操作DisplayAveryintelligentturtlexxxx删除veryAintelligentturtlexxxxxx删除turtleAintelligent用"U"恢复该行Averyintelligentturtle用"u"撤消"U"Aintelligent第章Vim第一步"U"命令本身也造成了一次改变,这种改变同样可以用"u"命令和CTRLR来撤消和重做看起来这很容易把人搞糊涂,不过别担心,用"u"和CTRLR你可以找回任何一个操作状态**其它编辑命令Vim有一大堆命令来改变文本请参考|Qin|和下面的内容,这里仅列出一些最常用的追加"i"命令可以在当前光标之前插入文本但如果你想在当前行的末尾添加一些内容时怎么办呢你必需在光标之后插入文本答案是用"a"命令来代替"i"比如,要把Displayandthat'snotsayingmuchfortheturtle改变为Displayandthat'snotsayingmuchfortheturtle!!!把光标移到行尾的句点上,然后用"x"来删除这个点号现在光标被置于行尾turtle的e上了键入命令:normalmodecommanda!!!<Esc>来在e的后面追加三个感叹号:Displayandthat'snotsayingmuchfortheturtle!!!另起一行"o"命令可以在当前行的下面另起一行,并使当前模式转为Insert模式这样你可以在该命令之后直接输入内容假设光标位于下面两行中第一行的某处:DisplayAveryintelligentturtleFoundprogrammingUNIXahurdle第章Vim第一步现在键入命令"o"并输入下面的内容:normalmodecommandoThatlikedusingVim<Esc>结果将是:DisplayAveryintelligentturtleThatlikedusingVimFoundprogrammingUNIXahurdle"O"命令(注意是大写的字母O)将在当前行的上面另起一行使用命令计数假设你要向上移动行这可以用"kkkkkkkkk"或"k"来完成事实上,很多命令都可以接受一个数字作为重复执行同一命令的次数比如刚才的例子,要在行尾追加三个感叹号,当时用的命令是"a!!!<Esc>"另一个办法是用"a!<Esc>"命令说明该命令将被重复执行次同样,删除个字符可以用"x"

用户评价(1)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/49

vi中文手册vim_user_manual_603.0

仅供在线阅读

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利