VI编辑器指令

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

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

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

资源描述

Linux软件学院Slide1VI编辑器vi简介vi(visualinterface),是一个文本编辑器,可以执行输出、删除、查找、替换、块操作等众多文本操作。它在Linux上的地位就像Edit程序在DOS上一样。vi类似于windows的notepad,但功能比notepad还要强大.Vi不是一个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。Vi没有菜单,只有命令,且命令繁多。Linux软件学院Slide2vi工作模式vi有三种基本工作模式:命令模式(CommandMode)插入模式(InsertMode)末行模式(Last_LineMode)Linux软件学院Slide3vi工作模式命令模式:在shell环境下启动vi时,初始进入命令模式,在该模式下,用户可以输入各种合法的vi命令,用于管理自己的文档,包括控制屏幕光标的移动,字符、字或行的删除、移动、复制等等。不管用户处于何种模式,只要用户按一下Esc键,即可使vi进入命令模式。插入模式:只有在插入模式下才可以进行文字输入。在命令模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或者替换命令s都可以进入插入模式。末行模式:在命令模式下,用户按:键即可进入末行模式,此时vi会在显示窗口的最后一行显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的,如保存vi或退出vi、寻找字符串、列出行号等。Linux软件学院Slide4Shell提示符命令模式插入模式末行模式退出vi启动vi文本插入命令Esc键自动返回:键图vi编辑器的三种工作模式vi工作模式Linux软件学院Slide5Vi工作模式Vi有二种主要的操作模式,ESC键为单向的切换键(由本文输入模式回到编辑命令模式);编辑命令模式:要vi做一些特定目的的动作.如插入,附加,取代,修改,删除,移动光标,搜寻等等.若是存盘等动作,则需在命令列中下达,欲切换至命令列,需先按“:”;本文输入模式:在此模式下,任何字符,皆被视为输入的数据.Linux软件学院Slide6Vi的工作模式一开始进入Vi之后,即进入编辑命令模式,你输入的每一个字符,皆被预视为一个指令.有效的指令会被接受,若是无效的指令,会产生beepbeep声,以示警告.Linux软件学院Slide7进入Vivifilename:打开或新建文件,并将光标置于第一行首vi+nfilename:打开文件,并将光标置于第n行首vi+filename:打开文件,并将光标置于最后一行首vi+/patternfilename:打开文件,并将光标置于第一个与pattern匹配的串处vi-rfilename:在上次正用vi编辑时发生系统崩溃,恢复filenamevifilename....filename:打开多个文件,依次进行编辑Linux软件学院Slide8移动光标Vi为了适用于各种不同的终端机模式,因此以字键的方式来操控光标.h:光标左移一个字符l:光标右移一个字符space:光标右移一个字符Backspace:光标左移一个字符k或Ctrl+p:光标上移一行j或Ctrl+n:光标下移一行Enter:光标下移一行Linux软件学院Slide9移动光标w或W:光标右移一个字至字首b或B:光标左移一个字至字首e或E:光标右移一个字至字尾):光标移至句尾(:光标移至句首}:光标移至段落开头{:光标移至段落结尾nG:光标移至第n行首n+:光标下移n行Linux软件学院Slide10移动光标n-:光标上移n行$:光标移至第n行尾H:光标移至屏幕顶行M:光标移至屏幕中间行L:光标移至屏幕最后行0:(注意是数字零)光标移至当前行首$:光标移至当前行尾Linux软件学院Slide11移动光标请记住一个要诀:在Vi中,大部份的命令都可以在其前面加上数字,该数字表示重复该命令的次数.例如:8l表示往右移动8个字符,3w表示往前移动三个word,2b表示倒退2个word注:word的定义,连续英数字元形成一个word,而其它特殊符号则每一个字符便是一个word(除非连续特殊字符),例如:--classify中含有2个word,一个是--;一个是classify,而-x,则有3个word.Linux软件学院Slide12屏幕翻滚类命令Ctrl+u:向文件首翻半屏Ctrl+d:向文件尾翻半屏Ctrl+f:向文件尾翻一屏Ctrl+b;向文件首翻一屏nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部Linux软件学院Slide13插入文本类命令i:在光标前I:在当前行首a:光标后A:在当前行尾o:在当前行之下新开一行O:在当前行之上新开一行Linux软件学院Slide14插入文本类命令r:替换当前字符R:替换当前字符及其后的字符,直至按ESC键s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之ncw或nCW:修改指定数目的字nCC:修改指定数目的行Linux软件学院Slide15删除ndw或ndW:删除光标处开始及其后的n-1个字do:删至行首d$:删至行尾ndd:删除当前行及其后n-1行x或X:删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u:删除输入方式下所输入的文本Linux软件学院Slide16undo(回复动作)若你对上一个动作反悔了,可以使用undo的功能:u取消上一个动作所产生的改变U取消光标所在那一列所有的改变:e!取消所有的改变,回复至未修改之前Linux软件学院Slide17搜索及替换命令/pattern:从光标开始处向文件尾搜索pattern?pattern:从光标开始处向文件首搜索patternn:在同一方向重复上一次搜索命令N:在反方向上重复上一次搜索命令:s/p1/p2/g:将当前行中所有p1均用p2替代:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代:g/p1/s//p2/g:将文件中所有p1均用p2替换Linux软件学院Slide18选取、复制与搬移Y或yy选取光标所在那一列5Y或5yy选取光标列所在共5列(5只是一个例子,可改用其它数字)p将选取的内容,复制至光标之后P将选取的内容,复制至光标之前cw、dw——改变(置换)/删除光标所在处的单词的命令(c=change、d=delete)。Linux软件学院Slide19最后行方式命令:n1,n2con3:将n1行到n2行之间的内容拷贝到第n3行下:n1,n2mn3:将n1行到n2行之间的内容移至到第n3行下:n1,n2d:将n1行到n2行之间的内容删除:w:保存当前文件:efilename:打开文件filename进行编辑:x:保存当前文件并退出Linux软件学院Slide20最后行方式命令:q:退出vi:q!:不保存文件并退出vi:!command:执行shell命令command:n1,n2w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入:r!command:将命令command的输出结果放到当前行Linux软件学院Slide21暂时跳出Vi在编辑过程中,你可能想要执行其它命令,方法如下::!命令执行该令命:sh暂时跳出Vi,欲回Vi按^d或exitLinux软件学院Slide22选项设置all:列出所有选项设置情况term:设置终端类型ignorance:在搜索中忽略大小写list:显示制表位(Ctrl+I)和行尾标志($)number:显示行号report:显示由面向行的命令修改过的数目Linux软件学院Slide23选项设置terse:显示简短的警告信息warn:在转到别的文件时若没保存当前文件则显示NOwrite信息nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始mesg:允许vi显示其他用户用write写到自己终端上的信息Linux软件学院Slide24vi基本技巧vi中设置tab键的空格数::setts=4(tab设置为4个)将此句话加到当前用户目录的文件.vimrc中,这样当前用户用vi的时候就会启动该设置拷贝:将第2行到第9行的字copy到第11行:2,9co10将第2行到第9行的字move到第11行:2,9m10Linux软件学院Slide25vi基本技巧设置行号::senu取消行号::senonu当前行与下一行换位置:ddp当前字与后面的字换位置:xpLinux软件学院Slide26vi基本技巧光标移到下一行行首:+(加号)光标移到上一行行首:-(减号)光标移到行尾:$(shift+4)光标移到屏幕的第一行:shift+h光标移到屏幕的中间:shift+m光标移到屏幕的最后一行:shift+l向下移动一屏:ctrl+f(front)向上移动一屏:ctrl+b(back)移到文档的第一行:gg移到文档的最后:shift+gLinux软件学院Slide27vi基本技巧删除当前字符:x删除当前单词:dw删除从关标到行尾的字符:d$删除整行:dd一般命令前加上一个数,则删除几个字、单词或行删除从第3行到第8行::3,8dLinux软件学院Slide28vi基本技巧替换当前一个字符:r一直处于替换状态:shift+r向后查找:?向前查找:/继续上一次查找:n与上一次查找方向相反:shift+nLinux软件学院Slide29vi基本技巧拷贝一个单词:yw拷贝当前光标到行尾的字符:y$拷贝整行:yy粘贴:p粘贴到光标后:shift+p恢复操作:u(象word中的ctrl+z)redo操作:ctrl+r(象word中的ctrl+y)Linux软件学院Slide30vi基本技巧连接两行:J{}()[]匹配:%在右下角显示行和列及百分比的信息::setruler区分大小写:setignorecase不区分::setnoignorecaseLinux软件学院Slide31vi基本技巧精确匹配查找单词如果你输入/the,你也可能找到there。要找到以the结尾的单词,可以用:/the\\是一个特殊的记号,表示只匹配单词末尾。类似地,\只匹配单词的开头。这样,要匹配一个完整的单词the,只需:/\the\这不会匹配there或者soothe。注意*和#命令也使用了词首和词尾标记来匹配整个单词(要部分匹配,使用g*和g#)Linux软件学院Slide32vi基本技巧在整个文件的各行或某几行的行首或行尾加一些字符串vifile:3,$s/^/somestring/在文件的第一行至最后一行的行首插入“somestring”。:%s/$/somestring/g在整个文件每一行的行尾添加“somestring”。:%s/string1/string2/g在整个文件中替换“string1”成“string2”。:3,7s/string1/string2/仅替换文件中的第3行到第7行中的“string1”成“string2”。注意:其中s为substitute,%表示所有行,g表示globalLinux软件学院Slide33vi基本技巧同时编辑2个文件,拷贝一个文件中的文本并粘贴到另一个文件中vifile1file2yy在文件1的光标处拷贝所在行:n切换到文件2(n=next)p在文件2的光标所在处粘贴所拷贝的行:n切换回文件1Linux软件学院Slide34VIMVim是一个轻量的编辑器,内置

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

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

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

×
保存成功