【Linux操作系统】第3章--vi编辑器的使用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Linux操作系统第3章vi编辑器的使用3.1vi的工作模式3.2vi的启动和退出3.3vi长指令和短指令3.4vi高级应用习题Linux操作系统3.1vi的工作模式在使用vi之前,首先应该了解一下vi的工作模式。vi有两种工作模式:编辑模式和指令模式。在vi中用户可以在这两种模式间切换。编辑模式:用来输入和编辑文件的模式,屏幕上会显示用户的键入,按键不是被解释为命令执行,而是作为文本写到用户的文件中。Linux操作系统指令模式:用来编辑、存盘和退出文件的模式。运行vi后,首先进入指令模式。此时输入的任何字符都被视为指令对待,键入的命令不会在屏幕上显示。状态行:屏幕底部一行,通常是第24行,被vi编辑器用来反馈编辑操作结果。错误消息或者提供信息的消息会在状态行中显示出来。vi还会在24行显示那些以冒号(:)或者问号(?)开头的命令。Linux操作系统如果从指令模式切换到编辑模式,则可以按【Insert】键;如果从编辑模式切换到指令模式,则可以按【Esc】键。如果不能断定目前处于什么模式,则可以多按几次【Esc】键,这时系统会发出蜂鸣声,证明已经进入指令模式。【注意】Linux下的命令是大小写敏感的。Linux操作系统3.2vi的启动和退出1.启动vi要进入vi,可以直接在系统提示字符下键入vi,按空格,然后再输入文件名(本例中以test.txt作为文件名),像下面一行:vitest.txt图3-1显示了用vi新建文件test.txt的初始画面。Linux操作系统~~~~~~“test.txt”[newfile]0lines0characters图3-1进入vi的初始化画面Linux操作系统vi可以自动帮你载入所要编辑的文件或是开启一个新文件。如果test.txt文件已存在,vi就会在屏幕上显示文件的第一页(前23行)。如果test.txt是一个新文件,vi就会清屏,光标会出现在屏幕的左上角,屏幕左方会出现波浪符号“~”,凡是列首有该符号就表示此列目前是空的。Linux操作系统2.退出vi要离开vi可以在指令模式下键入“:q”,“q!”或“:wq”离开(注意冒号)。(1) :q如果用户只是读文件的内容而未对文件进行修改,可以使用“:q”退出vi;如果用户对文件的内容作了修改,则用“:q”退出vi,那么vi在屏幕的底行会提示下面的信息,vi编辑器还保留在屏幕上:Nowritesincelastchange(:q!overrides).Linux操作系统(2) :q!如果用户对文件的内容作了修改,然后决定要放弃对文件的修改,可以使用“:q!”强行退出vi,在这种情况下文件的内容不变。(3) :wq在大多数情况下,用户在编辑结束时,用“:wq”命令保存文件,然后退出vi。(4) :n,mwfilename该指令将第n~m行的文本保存到指定的文件filename中。Linux操作系统(5)ZZ该指令表示快速保存文件的内容,然后退出vi,功能和“:wq”一样。(6) :w!vi编辑器通常防止覆盖一个已存在的文件。比如用户键入“:wtest.txt”并按回车键,而test.txt文件已存在时,vi会显示如下的信息提出警告:test.txtFileexist–use:w!tooverwriteLinux操作系统3.3vi长指令和短指令vi的指令分为两种:长指令和短指令。长指令以冒号开头,键入冒号后,在屏幕的最末尾一行会出现冒号提示符,等待用户键入指令,输入完指令后回车,vi就会执行该指令。短指令和快捷键相似,键入短指令之后,vi不会给任何提示就直接执行。接下来我们以分组的形式来介绍vi常用的指令。Linux操作系统(1)输入输出命令的作用如表3-1所示。表3-1输入输出命令命令作用a在光标后输入文本A在当前行末尾输入文本i在光标前输入文本I在当前行开始输入文本o在当前行后输入新一行O在当前行前输入新一行Linux操作系统(2)光标移动命令的作用如表3-2所示。表3-2光标移动命令命令作用B移动到当前单词的开始e移动到当前单词的结尾w向后移动一个单词h向前移动一个字符j向下移动一行k向上移动一行l向后移动一个字符Linux操作系统(3)删除操作命令的作用如表3-3所示。表3-3删除操作命令命令作用x删除光标所在的字符dw删除光标所在的单词d$删除光标至行尾的所有字符D同d$dd删除当前行Linux操作系统(4)改变与替换命令的作用如表3-4所示。表3-4改变与替换命令命令作用r替换光标所在的字符R替换字符序列cw替换一个单词ce同cwcb替换光标所在的前一字符c$替换自光标位置至行尾的所有字符C同c$cc替换当前行Linux操作系统(5)查询命令的作用如表3-5所示。表3-5查询命令命令作用/abc向后查询字串“abc”?abc向前查询字串“abc”n重复前一次查询N重复前一次查询,但方向相反Linux操作系统(6)拷贝与粘贴命令的作用如表3-6所示。表3-6拷贝与粘贴命令命令作用yw将光标所在单词拷入剪贴板y$将光标至行尾的字符拷入剪贴板Y同y$yy将当前行拷入剪贴板p将剪贴板中的内容粘贴在光标后P将剪贴板中的内容粘贴在光标前Linux操作系统(7)文件保存及退出命令的作用如表3-7所示。表3-7文件保存及退出命令命令作用:q不保存退出:q!不保存强制性退出:w保存编辑:wfilename存入文件filename中:w!filename强制性存入文件filename中:wq保存退出:x同:wqZZ同:wqLinux操作系统(8)其他命令的作用如表3-8所示。表3-8其他vi命令命令作用u取消上一次的操作U可以恢复对光标所在行的所有改变J把两行连接到一起:set用来设置或浏览vi系统当前的选项:X对所编辑的文件进行简单加密Linux操作系统3.4vi高级应用3.4.1设置vi环境vi编辑器的行为可以通过设置编辑参数来定义,并且有许多种方法可以进行这种设置。最直接的方法是使用vi的set命令进行设置。这种情况下,vi在进行设置前必须处于指令状态。使用这种方法的用户可以设置任何选项,但是选项的改变是临时的,并且只在用户当前编辑会话下有效。当用户退出vi编辑器时,设置会被丢弃。Linux操作系统本小节介绍一些有用的vi参数,表3-9对它们进行了汇总(按字母顺序列出)。大多数选项名有缩写形式,用户进行设置时既可以使用选项名的全称,也可以使用缩写。Linux操作系统表3-9vi选项选项缩写功能autoindentai将新行与前一行的开始对准ignorecaseic在搜索选项下,忽略大小写magic-在搜索时,允许使用特殊字符numbernu显示行号report-告知用户最后一个命令作用行的行号scroll-设定使用[Ctrl-d]命令翻滚的行数shiftwidthsw设定缩进空格数,一般与autoindent一同使用showmodesmd在屏幕右角显示vi编辑器模式terse-缩短错误信息wrapmarginwm将右边界设定为一定的字符个数Linux操作系统1. autoindent选项autoindent选项将用户键入的每个新行与前一行的开始对齐。该选项对于使用C等其他结构化程序设计语言编写程序时十分有用。使用【Ctrl-d】可减少一级缩进,每次执行【Ctrl-d】,会增加一个由shiftwidth选项指定的数值。本选项的默认值为noai。Linux操作系统2. ignorecase选项vi编辑器提供大小写敏感的搜索,也就是说它区分大写字母和小写字母。要使vi忽略大小写,键入“:setignorecase”并按回车键。要返回大小写敏感状态,键入“:setnoignorecase”并按回车键。3. magic选项某些符号(如方括号[])在用于搜索时有特殊的含义。当用户将这些符号开头置为nomagic时,这些符号不再有特殊含义。Linux操作系统4. number选项vi编辑器一般情况下不显示每行的行号。显示行号可以使用户对自己文件的大小及自己正在编辑文件的哪一部分等心里有数。要显示行号,键入“:setnumber”,然后按回车键。如果不希望显示行号,键入“:setnonumber”并按回车键。Linux操作系统5. report选项vi编辑器对用户的编辑工作并不给予任何反馈。例如,如果用户键入“dd”,vi删除当前行文本,但不会在屏幕上显示任何确认消息。如果希望在屏幕上看到自己编辑的反馈信息,用户可以使用report选项来实现。该参数被设为使vi编辑器报告发生变化的行的最小行数。Linux操作系统要将report选项设为2行时有效,键入“:setreport=2”并按回车键。于是,当用户的编辑工作作用两行时,vi显示相应报告。例如,删除两行并复制两行,将在屏幕底部产生类似下面的报告信息:2linesdeleted2linesyankedLinux操作系统6. scroll选项scroll选项用于设定用户在使用【Ctrl-d】时希望滚动的行数。例如,要想使屏幕滚动5行,键入“:setscroll=5”并按回车键。7. shiftwidth选项该选项设定在设置了自动缩进时,使用【Ctrl-d】时的空格数。该选项的默认设置为“sw=8”。例如,要把该设置改为10,键入“:setsw=10”并按回车键。Linux操作系统8. showmode选项vi编辑器并不显示任何可见的反馈信息来告知当前是处于文本输入模式还是指令模式,这可能导致混淆,尤其是对于新手。用户可以设置showmode选项来提供可见的反馈到屏幕,或者说showmode选项在状态行上指示你所处的模式。Linux操作系统要打开showmode选项,键入“:setshowmode”并按回车键。接着,根据用户需要在文本输入和指令模式之间切换,而vi在屏幕的右下角显示不同的信息。如果用户键入“a”或“A”切换到编辑模式,vi显示APPENDMODE;如果用户键入“i”或“I”,vi将显示INSERTMODE;如果用户键入“O”或“o”,vi显示OPENMODE等等。这些信息将一直显示在屏幕上,直到用户按【Esc】键切换到指令模式。当屏幕上没有信息时,vi处于指令模式。要关闭showmode选项,键入“:setnoshowmode”并按回车键。Linux操作系统9. terse选项该选项使vi编辑器显示缩短的错误消息。该选项默认值为noterse。10. wrapmargin选项该选项定义右边距。用户的终端屏幕通常为80列。当键入到行的末尾时(超过第80列),屏幕即开始一个新行,这就是所说的行回绕。在用户按回车键时,屏幕同样开始一个新行。因此,屏幕上一行的长度可以为1~80个字符之间的任何长度。Linux操作系统但是,vi编辑器只在用户按回车键时,才在用户文件中生成一个新行。如果用户在按回车键前键入了120个字符,这时键入的文本看起来是在2行,但实际在文件中,这120个字符只在1行中。过长的行在文件打印时可能会出现问题,并且屏幕显示的行号与实际文件中的行号相对应时容易产生混淆。最简单的限制行长度的方法是在到达屏幕行末尾前按回车键。另一种方法是设定wrapmargin参数以使vi编辑器自动插入回车。Linux操作系统例如,要将wrapmargin设为10(10是从屏幕右边界计数的字符的个数),键入“wm=10”并按回车键。于是当用户键入到第70列时,vi编辑器强迫回车,开始一个新行,以便留出右边距。如果用户正在键入一个字时超过第70列,vi编辑器将把该字整个移至新行。这也意味着右边界可能会对不齐。wrapmargin选项的默认值是0,要关闭这个选项,键入“:setwrapmargin=0”并按回车键即可。Linux操作系统3.4.2缩写与宏vi编辑器为用户提供一些捷径,以使用户的输入更快速、更简单。“:ab”和“:map”是两个用于该目的的命令。1.缩写操作符缩写操作符“:ab”(缩写)命令使得用户给任何字符串指定缩写,该功能可以帮助用户提高输入速度。用户可以为自己经常输入的文本选择一个易记的缩

1 / 53
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功