




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 新手上路介绍本教程将会向你展示如何使用vi一个强大的可视化编辑器。通过使用特别的备忘单方法,本教程可使你成为一名熟练的vi用户,而不要求大量的时间。在这个vi教程中,你将会学会如何移动、编辑文本、使用插入模式、复制和粘贴文本,以及使用诸如可视化模式和多窗口编辑这样重要的vim扩展。 如果你没听说过vi,或者不习惯使用vi,那么你就应该对自己负责,利用本教程赶紧学习这个最流行最强大的Linux/UNIX可视化编辑程序。 关于本指南只有特别的一件事会使学习vi很困难vi有众多的命令。为了有效地使用vi,你需要记住不少命令。这会需要很长时间,而本教程的目标之一就是不占用你的很多时间。所以,我们一开始就有一个挑战我是如何具体地帮助你在短期就记住众多的命令? 为了处理这个挑战,在我们进行本教程的过程中,会逐渐地生成一个vi备忘单。这个单子会包括所有重要的vi命令。当你完成本教程后,你将能在忘记了某个命令的时候参考该备忘单。时间一长,由于你记住了命令,你会渐渐地越来越不依赖于备忘单。通过使用备忘单的方式,你将能前所未有地更快学习如何使用vi! 学习过程在本指南中,我将使用几个技巧来帮助你学习。首先,我会描述某个命令是如何工作的,正如之前你所期望的。然后,我将让你试着在vi中使用该命令(为了练习)。接下来我会让你将该命令转录到备忘单上(以备将来参考)。如果你想更快地学习vi,执行所有这些步骤是很重要的。在vi中试用命令并转录到备忘单中将会帮助你记忆该命令。 介绍vimvi有很多版本,而我将会向你展示如何使用一个叫做vim的版本。vim非常流行,并有使vi漂亮了很多的众多扩展(当我示范vim专用的命令时,我会加以说明)。如果你需要安装vim,可以从那里得到它。除了增强版的命令行vi,vim还增加了gvim,一个漂亮的图形化编辑器,可以被配置来调用优秀的GTK+图形化界面库。这是我系统上的gvim截图: 图示1.1: VIM截图如果你是vi新手,请让gvim运行在你的系统上。对于初学者来说,在图形化界面下使用vi可以使事情变得简单一些。 2. 第一步打开文件在使用vi编辑文件之前,你需要知道如何使用vi在文件中移动。vi有许多移动命令,而我们将会看到其中的很多。为教程中的这一部分找一个不重要的文本文件,并通过输入以下命令来将它载入到vi中: 代码2.1: 将文件载入vi$ vi myfile.txt如果你已安装了vim,输入vim myfile.txt。如果你更喜欢使用gvim,输入gvim myfile.txt。myfile.txt应该是你系统上的某个文本文件名。 vi内部vi启动之后,你应该能在屏幕上看到载入的文本文件的一部分了。恭喜你已经进入vi了!vi不像其他的编辑器,当它启动时处于一个叫做命令模式的特殊模式中。这意味着如果你按键盘上的l键,光标会向右移一位,而不是在当前光标位置上插入一个l。在命令模式下,键盘上的字符是用来向vi传送命令的,而不是在文本中插入文字字符的。移动命令是最重要的命令类型之一;让我们来看看其中的一些。 3. 移动vi中的移动,第1部分当在命令模式中时,你可以分别使用h、j、k和l键来向左、下、上和右移动。如果你正在使用现代版本的vi,你也可以使用方向键来达到同样的目的。h、j、k和l键很方便,这是因为一旦你适应了它们,你就可以不用把手指从主键盘上移开就在文件中四处移动。试着用h、j、k和l键(还有方向键)在文本文件中移动吧。试着用h键直到你移到了一行的开始处。注意,vi不允许你在行首时用h键转到前一行。同样地,你也不能在行尾时用l键转到下一行。 vi中的移动,第2部分vi为跳转到当前行的首或尾提供了特别的捷径。你可以按0(零)键来跳转到一行的开始,以及$键跳转到末尾。试试它们看看。由于vi有许多便捷的移动命令,它也是一个伟大的“翻页工具”(如同more或者less命令)。用vi做翻页也会帮助你迅速学习所有的移动命令。 你也可以用F和B来一次前进或后退一页。现代版本的vi(比如vim)也允许你用PGUP和PGDOWN键达到同样的目的。 词语移动,第1部分vi也允许你向左右按词移动。按w键移到下一个词的第一个字符。按e键移到下一个词的最后一个字符。按b键移到前一个词的第一个字符。试验一下它们。 词语移动,第2部分玩过词语移动命令之后,可能你已经注意到vi将像foo-bar-oni这样的词看做是五个分开的词!这是因为vi默认地按照空格或者标点来区分词语。因此foo-bar-oni被看做是五个词:foo、-、bar、-和oni。 有时这是你想要的,而有时这却不是。幸运的是,vi也能理解“长词”的概念。vi仅按照空格或是新行分解长词。这意味着当foo-bar-oni被看做是五个vi词语时,却仅仅是一个vi长词。 词语移动,第3部分你可以用一个大写的词语移动命令来跳转到前一个或后一个长词。用W键来跳转到下一个长词的第一个字符,用E键跳转到下一个长词的最后一个字符,用B键跳转到前一个长词的第一个字符。试验一下它们,然后比较一下匹配的单词和长词移动命令,直到你理解了它们之间的不同。 更大的移动在我们开始把它们集中到备忘单之前,再来看看几个命令。你可以用(和)键来移到前一句或后一句的开始处。还有,你可以敲或键来转到当前段落或下一段落的开始处。试验一下它们。 4. 退出我们已经讲过了基本的移动命令,但是你还需要知道其他一些命令。输入:q会退出vi。如果这个不灵,那你可能意外地修改了文件某处。如要让vi放弃所有更改而退出,输入:q!。现在你应该位于命令提示符处了。 在vi中,所有以:开头的命令都被称为ex模式命令。这是因为vi有一个内建的非可视化的编辑器,叫做ex。它可以像sed那样用来做基于行的编辑操作。还有,它可以用来退出,就像我们刚刚看到的那样。只要你在命令模式下敲了Q键,就会转到ex模式。如果这发生在你身上了,那你会面对一个:提示符,而且输入回车符会使整个屏幕向上翻页并退出。只要输入vi并回车就能又回到vi模式。 5. 备忘单备忘单的开端我们已经讲过了许多命令,现在是把它们转录到备忘单的时候了。为此你需要一张信纸,或者A4大小的纸张(我们将会把许多信息都记在这张单子上!)。这张图片展示了我的备忘单,转录了到现在为止所有我们讲到的命令。如果可能的话请模仿我的布局,这样我们可以把所有的信息都集中在一张单子里。 图示5.1: 备忘单vi杂项让我们继续学习命令的脚步。在命令模式中,你可以输入G键来跳转到特定的行。要跳转到文件的首行,输入1G。注意G是大写的。 如果你想跳转到下一处某个文本模式的出现,输入/后敲回车。用你正在寻找的正则表达式替换。如果你不知道怎么使用正则表达式,不要烦躁输入foo会移动到下一处foo出现的地方。对此你唯一需要注意的是,当你想引用、.、$或字符时,用反斜线符号()做这些符号的前缀。比如,foo.gif会搜索下一处“foo.gif”的出现。 要向前重复搜索,敲n键。要向后重复搜索,输入N。跟往常一样,在你自己的vi编辑器里测试这些命令。你也可以输入/来重复上一次搜索。 6. 保存和编辑保存和另存为我们已经讲过了如何使用ex命令:q来从vi中退出。如果你想要保存更改,输入:w。如果你想要将更改保存到另一个文件,输入:w filename.txt来另存为filename.txt。如果你想保存并退出,输入:x或者:wq。 在vim(还有其他高级vi编辑器,像elvis)中,你可以同时打开多个缓冲区。要在新窗口中打开文件,输入:sp filename.txt。filename.txt会在一个新的分割窗口中显示为编辑打开。要在各窗口间切换,输入ww(control-w两次)。你输入的任何:q、:q!、:w或:x命令只会作用于当前激活的窗口。 简单编辑现在是开始学习一些简单编辑命令的时候了。此处我们将要涉及的命令被认为是简单的,是因为这些命令使你一直处于命令模式中。更复杂一些的命令会自动将你放到插入模式中一种允许你从键盘输入文字数据的模式。我们也会涉及一点儿这些情况。 而现在,试着移到一些字符上并重复按x键。你会看到x会删除当前光标下的字符。现在,移动到文本文件中某段落的中间,然后按J(大写)。你会看到J命令让vi将下一行加到当前行末尾。现在,移到一个字符上并按r,然后输入一个新字符;你会看到原始字符被替换掉了。最后,移到文件中任一行并输入dd,你会看到dd删除了文本的当前行。 重复和删除你可以靠.键来重复任一编辑命令。如果你试验一下,会看到输入dd.会删掉4行,而J.会加入4行。与往常一样,vi提供了其他便捷的方式。 你也可以用d命令加上其他命令来删除文本。比方说,dw会从当前位置一直删到下一个词的开始处;d)会一直删到下一句为止;而d会删掉本段落的其余部分。试一下d命令和其他编辑命令,直到你适应了它们。 撤消!现在我们正在试验删除,这也是学习如何撤消更改的好时候。按u键,原始版本的vi仅允许你撤消最后一次的编辑。然而,像vim之类的现代版本vi会允许你重复按u键继续撤消对文件的更改。试着将一些d和u命令混合起来。 更新备忘单到更新备忘单的时候了!加上到目前为止我们讲过的命令后,你的备忘单看起来应该是这样的: 图示6.1: 含有编辑命令的备忘单7. 插入模式迄今为止,我们已经讲了如何在vi中移动,进行文件输入/输出,以及一些基本的编辑操作。然而,我仍然没有向你展示如何实际地输入自由格式的文本!这是故意的,因为vi的插入模式一开始有点儿复杂。但是,当你适应了插入模式之后,它的复杂性(以及灵活性)会成为优点。 在vi的插入模式中,你将能直接向屏幕里输入文本,就像在其他很多可视化编辑器中一样。一旦你输入完更改,可敲Esc键退回到命令模式。你可以按i键或a键进入插入模式。如果你按i键,你的文本会被插入到当前字符之前,而如果你按a键,你的文本会被续写到当前字符之后。记住,在你输入了文本之后,敲来回到命令模式。 插入模式的益处继续试着使用a和i命令。敲a键或i键,输入一些文本,然后敲ESC回到命令模式。敲完a或i后,试着敲看看会发生什么。试着使用方向键和键来感受一下插入模式是怎样工作的。通过使用方向键和键,你可以执行大量的编辑步骤,而不用重复进出插入模式。 插入选项这里有一些其他进入插入模式的便捷方式。不管你当前处于当前行的什么位置,按A键(大写)来开始在该行的末尾处续写。同样地,按I键(大写)来开始在当前行的开始处插入文本。按o键来在当前行下面创建一个新的可插入文本的空行,而按O键(大写)可在当前行之上创建一个新行。按cc可用新行将当前行全部替换掉。要将从当前位置到本行末尾之间的一切替换掉,输入c$。要将从本行开头到当前位置的一切替换掉,输入c0。 除了执行特定的操作,这些命令都能将你置于插入模式中。输入你的文本后,敲键退回到命令模式。 更改文本迄今为止我们已经使用了一些c(change,即变更)命令,包括cc、c0和c$。cc是变更命令的一种特殊形式,同dd相似。c0和c$命令是将变更命令和移动命令结合使用的例子。在这种形式中,c和d工作方式类似,除了它将你置于插入模式之中以让你能输入可替代删除区域的文本。将一些移动命令和c结合起来,在你的文件中试试看(提示:cW、ce、c(。) 8. 复合命令当你开始使用复合(“套餐”)命令,如d和cw时,vi才真正地变得强大起来。除了这些命令,你也可以将数字和任一移动命令组合,比如3w,它会告诉vi向右跳转三个词。这里有一些移动“套餐”命令的范例:12b、4j。 vi除了允许(数字)(移动命令)的组合,还允许d或c和数字或移动命令组合。所以,d3w会删除后面三个单词,d2j会删除当前行和下面两行,等等。试验一下c和d相结合的移动,感受一下vi编辑是多么强大和简洁。一旦这些命令成为了第二天性,你将能以闪电般的速度编辑文件。 更新备忘单是再次更新备忘单的时候了。现在它看起来应该是这个样子: 图示8.1: 含有复合命令的备忘单提高工作效率的特性到目前为止,我们已经讲了如何移动、保存和退出、进行简单编辑和删除,以及使用插入模式。有了当前备忘单上记录的一切,你应该能使用vi来进行几乎所有的任务了。 但是,vi还有许多更强大的命令。在本部分,你会学习到如何使用剪切、复制和粘贴、搜索和替换,以及使用自动缩进特性。这些命令会帮助vi变得更有趣更具工作效率。 可视化模式剪切和粘贴的最佳方法是使用可视化模式,它是被加入到诸如vim和elvis等现代版本的vi中的一种特殊模式。你可以将可视化模式看做为一种“高亮文本”模式。一旦文本被高亮,它就可以被复制或删除,然后粘贴。如果你正在使用gvim,即可用拖拽鼠标左键滑过某段区域的方式来高亮。 图示8.2: 含有高亮文本的VIM 另外,你也可以按v键进入可视化模式(如果你在控制台中使用vi,这可能是你唯一的选择)。然后,用移动命令(通常是方向键)来移动光标,你将能高亮某个文本区域。一旦文本被高亮了,我们就准备好剪切或复制它们了。 如果你正在复制文本,敲y键(代表“yank”,即“用力拉拽”,译者注)。如果你正在剪切文本,敲d。你将回到命令模式。现在,移到你想插入剪切或复制的文本的位置,并敲P键来将其插入于光标之前,或p插入到光标之后。瞧,剪切/复制和粘贴完成了!在进入下一部分之前,试验一些复制/剪切和粘贴操作。 替换文本我们使用ex模式来替换某模式的文本。如果你想替换掉当前行中第一个匹配的模式,输入:s/并敲回车,此处是你想匹配的模式,是用来替换的字符串。要替换掉当前行中所有匹配
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024桂林理工大学辅导员招聘笔试真题
- 9.团体标准《茗冠茶-绿茶加工技术规程》意见反馈表
- 2025年TFT-LCD用偏光片合作协议书
- ABC分类法在食品安全检测中的高效管理与优化策略
- 2025年湖南大学岳麓书院学工助理招聘考试笔试试题【答案】
- 2025年嘉兴嘉睿人力招聘考试笔试试题【答案】
- 2025年事业单位招考综合基础知识全真模拟考试试题【答案】
- 2025年电火花成型机床项目发展计划
- 干部教育培训工作调研报告
- 消费者购物行为对在线时尚品牌的影响
- 海上风电场选址与环境影响评估
- 市政工程资料表格填写范例样本
- 《陆上风电场工程概算定额》(NB-T 31010-2019)
- 《早期教育概论》课程标准
- 药物分析年终述职报告
- 农发行信贷业务考试题库题库附答案
- 2024普通高中物理课程标准解读
- 精神分裂症护理查房
- 建筑物联网工程综合实训 课件 第1-3章 物联网技术导论、物联网领域的关键技术、智能建造工程场景中的物联网
- 初中数学中心对称图形训练50题(含参考答案)
- 大中小学思政课内容一体化研究
评论
0/150
提交评论