Vi命令集.doc_第1页
Vi命令集.doc_第2页
Vi命令集.doc_第3页
Vi命令集.doc_第4页
Vi命令集.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Vi 命令集vi是unix下常用而重要命令,可在全屏幕方式下编辑一个或多个文件。若在vi执行时 没有指定一个文件,那么vi命令会自动产生一个无名的空的工作文件。若指定的文件不存在, 那么就按指定的文件名创建一个新的文件。若对文件的修改不保存的话,v i命令并不改变原 来文件的内容。 注意:vi命令并不锁住所编辑的文件,因此多个用户可能在同时编辑一个文件,那么最后 保存的文件版本将被保留。 下面是vi命令使用的一些选项及含义:-c sub-command 在对指定的文件编辑前,先执行指定的命令 sub-command . -r filename 恢复指定的文件filename .-R 将指定的文件以只读的方式放入编辑器中,这样不会保存对文件的任何修 改。 -y number 将编辑窗口的大小设为number行。下面是vi编辑所处的三种模式:.命令模式 进入vi时所处的模式。在此模式下用户可输入各种子命令对进行*作,如删除行、 粘贴行、移向下一个字、移向不同行等。 .文本输入模式 在此模式下可以修改一行的内容并增添新行。在命令模式下键入a 、i 或 c键可进入文本输入模式,按Escape键可返回命令模式。 .命令项模式 在此模式下,可以通过子命令输入更多的参数。如:w子命令要求输入一文 件名,/子命令要求输入一个查找项。用户使用Escape键返回命令模式。 下面是自命令模式下执行的,在同一行上移动的自命令:h 将光标左移一格。l 将光标右移一格。j 将光标下移一格。k 将光标上移一格。w 将光标移到下一个小字的前面。W 将光标移到下一个大字的前面。b 将光标移到前一个小字的前面。B 将光标移到前一个大字的前面。e 将光标移到下一个小字的后面。E 将光标移到前一个大字的后面。fc 把光标移到同一行的下一个c字符处。Fc 把光标移到同一行的前一个c字符处。tc 把光标移到同一行的下一个字符c的前一格。Tc 把光标移到同一行的前一个字符c的后一格。number| 把光标移到第number列上。下面是命令模式下在行间移动的子命令:+或Enter 把光标移至下一行第一个非空白字符。- 把光标移至上一行第一个非空白字符。0 把光标移到当前行的第一个字符处。$ 把光标移到当前行的最后一个字符处。H 把光标移到屏幕最顶端一行。L 把光标移到屏幕最底端一行。M 把光标移到屏幕中间。下面是命令模式下改变屏幕显示的子命令:z- 把当前行作为屏幕的最后一行,并重新显示屏幕。z. 把当前行作为屏幕的中间一行,并重新显示屏幕。Ctrl+l 重新显示屏幕当前内容。/pattern/z- 寻找pattern的下一个位置,并把所在行设为屏幕的最后一行。 下面是在命令模式下用来显示页面的子命令:Ctrl + f向后滚一页。Ctrl + d向后滚半页。Ctrl + b向前滚一页。Ctrl + u向前滚半页。Ctrl + e屏幕向下滚一行。Ctrl + y屏幕项上滚一行。下面是在命令模式下用来查找字符串所使用的子命令:/pattern 向后寻找指定的pattern ,若遇到文件尾,则从头再开始。 ?pattern 向前寻找指定的pattern ,若遇到文件头,则从尾再开始。 n 在上次指定的方向上,再次执行上次定义的查找。N 在上次指定的方向的相反方向上,再次执行上次定义的查找。:s/p1/p2/g:将当前行中所有p1均用p2替代:n1,n2/p1/p2/g:将第n1至n2行中所有p1均用p2替代:g/p1/s/p2/g:将文件中所有p1均用p2替换/pattern/+number 将光标停在包含pattern的行后面第number行上。 /pattern/-number 将光标停在包含pattern的行前面第number行上。 % 移到匹配的()或上。下面是在文本输入模式下用来输入文本的子命令(用户可在任何时候按Escape返回到命令模式): a 在光标之后开始输入文本。A在行尾开始输入文本。i在光标之前开始输入文本。I在行首第一个非空白字符前输入文本。o在光标所在行后插入一空行。O在光标所在行前插入一空行。下面是在命令模式下改变文本所使用的子命令(用户可在任何的时候按Escape键返回到命令模式): cc或S 修改一整行。C 改变一行光标位置以后的部分。cw 改变光标所在单词。dd删除当前行。D 删除光标所在行光标后面的内容。dw删除光标所在的单词。J 把下一行内容加到本行行尾。rc把光符所在字符替换成c .R 覆盖本行内容。u恢复上一次的修改。x删除光标所在的字符。 改变光标所在出字符的大小写。. 重复上一个*作。把当前行移到右边。下面是用于文件中拷贝文本的字命令:p 将缓冲区内容取到光标所在行的下面一行。P 将缓冲区内容取到光标所在行的上面一行。bd 将文本删除至有名缓冲区b .bp 张贴有名缓冲区b中内容。yy把当前行放入缓冲区。Y 把当前行放入缓冲区。Yw把光标所在的单词放入缓冲区。下面是用于保存文件的子命令::w 回写修改后的文件。:w filename 当filename不存在时,把修改后的文件存为文件filename ,当文件filename 存在时,报错。 !w filename 如果文件filename存在时,把修改后的文件保存为文件filename . 下面列出了在vi编辑的多个文件之间切换所用的子命令::n开始编辑vi激活的文件列表中的下一个文件。:n filenames 指定将被编辑的新的文件列表。下面列出了用于在当前文件和另外一个文件间切换的子命令::e filename 使用filename激活vi (在vi中装入另一个文件filename)。 e!重新装入当前文件,若当前文件有改动,则丢弃以前的改动。:e+filename 使用filename激活vi ,并从文件尾部开始编辑。 :e+number filename 使用filename激活vi ,并在第number行开始编辑。 :e# 开始编辑另外一个文件。下面是在本文件中加入其他文件代码所使用的子命令::r filename读取filename文件,并将其内容加到当前文件后。 :r ! command执行command文件,并将其输出加到当前文件后。 下面是vi中其他的子命令:ctrl+g 取得正在编辑文件的有关信息。:sh启动sh ,从sh中返回可用exit或ctrl+d .:! Command 执行命令command .!重新执行上次的:! Command子命令。:q退出vi ,若用户对编辑的文件有所修改,系统不会让用户使用q命令退出。 :q!退出vi而不管是否对文件有改动。ZZ或:wq 保存对文件的修改并退出vi .用户可在一个特殊的文件.exrc中定义特殊的vi命令。在vi中使用这些命令时,必须在该 命令前加上一个冒号( :) 。VI的常见使用技巧一、简介 Vi命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,很多人不喜欢VI因为它 的众多的命令集,但是我们只需要掌握基本的命令然后灵活地加以运用,相信你会象我一样喜欢它的。 本文旨在更有条理有归纳性地介绍VI的一些最常用命令和一些高级的应用。 二、基本命令介绍 1) 光标命令 k,j,h,l上下左右光标移动命令,虽然你可以在Linux中使用键盘右边的四个光标键, 但是记住这四个命令还有非常有用的,也就是右手在键盘上放置的位置部分nG n为行数,该命令立即使光标跳到指定行。 Ctrl+G光标所在位置的行数和列数报告 w,b使光标向前或向后跳过一个单词 2) 编辑命令 i,a,r在光标的前,后,上方插入字符命令(i=insert,a=append,r=replace) cw,dw改变(置换)/删除光标所在处的单词的命令 (c=change,d=delete) x,d$,dd删除一个字符,光标所在处到行尾的所有字符,和整行的命令 3) 查找命令 /string, ?string从光标所在处向后/向前查找相应的字符串的命令 4)拷贝复制命令 yy,p 拷贝一行到剪贴板/取出剪贴板中内容的命令 三、常见问题及应用技巧 1) 在一个新文件中读/etc/passwd中的内容,取出用户名部分 vi file :r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd :%s/:.*/g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分 :3r /etc/passwd 这是在指定的行号后面读入文件内容 另外一种方法删掉文件中所有的空行及以#开始的注释行 #cat squid.conf.default | grep -v $ | grep -v # 2) 在打开一个文件编辑后才知道登录的用户对该文件没有写权,不能存盘 vi file :w /tmp/1 既然没法存盘,不想放弃所做的所有修改,先临时存到/tmp/1 :20,59w /tmp/1 或者仅仅把第20到59行之间的内容存盘成文件/tmp/1 3) 用VI编辑一个文件,但需要删除大段大段的内容 vi file Ctrl+G 把光标移到需要删除的行的处按ctrl+G显示行号,再到结尾处再按Ctrl+G. :23,1045d 假定两次行号为23和1045,则把这几间的内容全删除 也可以在开始和结束两行中用ma,mb命令标记后用:a,bd删除. 4) 在整个文件或某几行中在行首或行尾加一些字符串 vi file :3,$s/some string /在文件的第一行至最后一行的行首前插入some string :%s/$/ some string/g 在整个文件每一行的行尾添加 some string :%s/string1/string2/g 在整个文件中替换string1成string2 :3,7s/string1/string2/ 仅替换文件中的第三到七行中的string1成string2 Note: s为substitute,%表示所有行,g表示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论