·Vi编辑器完全使用手册本文是针对初学LinuxVi编辑器的网友的,而文后所付的详尽的命令
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
也可作为已经熟练使用vi的网友的参考之用,因此你最好下载本文或打印本文然后对照实践学习。 一、Linux编辑器概述 编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件。Linux及其相似的ix操作系统系列中,为方便各种用户在各个不同的环境中使用,提供了一系列的ex编辑器,包括ex,edit,ed和vi.其中ex,edit,ed都是行编辑器,现在已很少有人使用,Linux提供他们的原因是考虑到满足各种用户特别是某些终端用户的需要。 值得庆幸的是,Linux提供了全屏幕的Vi编辑器,这使我们的工作轻松不少。不少DOS用户抱怨Vi编辑器不象DOS下的编辑器如edit那么好用,这是因为Vi考虑到各种用户的需要,没有使用某些通用的编辑键(在各个不同的终端机上他们的定义是不同的,在某些终端机上甚至没有这些键)。而是采用状态切换的方法,但这只是习惯的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,一旦你熟练的使用上了vi你就会觉得它其实也很好用。 虽然Vi采用了状态切换的方法,但电脑的硬件及操作系统多种多样,某些电脑的键盘上没有特定的几个功能键!那麽不就有某些功能不能用了?这个问题在Linux系统上也一样,几乎各大电脑厂商都有自己的 Linux系统,而vi的操作方法也会随之有点出入。这里我们采用PC的键盘来说明vi的操作,但在具体的环境中还要参考相应的资料,这一点是值得注意的。 二、Vi入门 (一)、进入vi 在系统提示字符(如$、#)下敲入vi<档案名称>,vi可以自动帮你载入所要编辑的文件或是开启一个新文件(如果该文件不存在或缺少文件名)。进入vi后萤幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。 (二)、两种模式 如上所述,vi存在两种模式:指令模式和输入模式。在指令模式下输入的按键将做为指令来处理:如输入a,vi即认为是在当前位置插入字符。而在输入模式下,vi则把输入的按键当作插入的字符来处理。指令模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次[ESC],系统如发出哔哔声就表示已处于指令模式下了。 附:有指令模式进入输入模式的指令: 新增(append) a:从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。 A:从光标所在列最後面的地方开始新增资料。 插入(insert) i:从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。 I:从光标所在列的第一个非空白字元前面开始插入资料。 开始(open) o:在光标所在列下新增一列并进入输入模式。 O:在光标所在列上方新增一列并进入输入模式。 (三)、退出vi 在指令模式下键入:q,:q!,:wq或:x(注意:号),就会退出vi。其中:wq和:x是存盘退出,而:q是直接退出, 如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q退出,或用:wq或:x命令退出,如果你不想保存改变后的文件,你就需要用:q!命令,这个命令将不保存文件而直接退出vi。 (四)、基本编辑 配合一般键盘上的功能键,像是方向键、[Insert]、[Delete]等等,现在你应该已经可以利用vi来编辑文件了。当然vi还提供其他许许多多功能让文字的处理更为方便。何谓编辑?一般认为是文字的新增、修改以及删除,甚至包括文字区块的搬移、复制等等。先这里介绍vi的如何做删除与修改。(注意:在vi的原始观念里,输入跟编辑是两码子事。编辑是在指令模式下操作的,先利用指令移动光标来定位要进行编辑的地方,然後才下指令做编辑。)删除与修改文件的命令: x:删除光标所在字符。 dd:删除光标所在的列。 r:修改光标所在字元,r後接著要修正的字符。 R:进入取替换状态,新增文字会覆盖原先文字,直到按[ESC]回到指令模式下为止。 s:删除光标所在字元,并进入输入模式。 S:删除光标所在的列,并进入输入模式。 其实呢,在PC上根本没有这麽麻烦!输入跟编辑都可以在输入模式下完成。例如要删除字元,直接按[Delete]不就得了。而插入状态与取代状态可以直接用[Insert]切换,犯不著用什麽指令模式的编辑指令。不过就如前面所提到的,这些指令几乎是每台终端机都能用,而不是仅仅在PC上。在指令模式下移动光标的基本指令是h,j,k,l。想来各位现在也应该能猜到只要直接用PC的方向键就可以了,而且无论在指令模式或输入模式下都可以。多容易不是。当然PC键盘也有不足之处。有个很好用的指令u可以恢复被删除的文字,而U指令则可以恢复光标所在列的所有改变。这与某些电脑上的[Undo]按键功能相同。 三、附件:vi详细指令表 (一)、基本编辑指令: 新增(append) a:从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。 A:从光标所在列最後面的地方开始新增资料。 插入(insert) i:从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。 I:从光标所在列的第一个非空白字元前面开始插入资料。 开始(open) o:在光标所在列下新增一列并进入输入模式。 O:在光标所在列上方新增一列并进入输入模式。 x:删除光标所在字符。 dd:删除光标所在的列。 r:修改光标所在字元,r後接著要修正的字符。 R:进入取替换状态,新增文字会覆盖原先文字,直到按[ESC]回到指令模式下为止。 s:删除光标所在字元,并进入输入模式。 S:删除光标所在的列,并进入输入模式。 (二)、光标移动指令: 由於许多编辑工作是藉由光标来定位,所以vi提供许多移动光标的方式,这个我们列几张简表来说明(这些当然是指令模式下的指令): 指令?nbsp;?得?nbsp; ???功能键 0移动到光标所在列的最前面 [Home]?nbsp; $ ?nbsp;移动到光标所在列的最後面[End] [CTRL][d]向下半页 ?nbsp;[PageDown] [CTRL][f] 向下一页 [CTRL][u]向上半页?nbsp; [CTRL][b]向上一页 [PageUp] 指令说明 H移动到视窗的第一列 M移动到视窗的中间列 L移动到视窗的最後列 b移动到下个字的第一个字母 w移动到上个字的第一个字母 ? e移动到下个字的最後一个字母 ^移动到光标所在列的第一个非空白字元 指令说明 ??nbsp; n-减号移动到上一列的第一个非空白字元前面加上数字可以指定移动到以上n列 n+加号移动到下一列的第一个非空白字元前面加上数字可以指定移动到以下n列 nG直接用数字n加上大写G移动到第n列 指令说明 fx 往右移动到x字元上 Fx往左移动到x字元上 ?nbsp; tx往右移动到x字元前??nbsp; Tx 往左移动到x字元前 ; 配合f&t使用,重复一次? ,?配合f&t使用,反方向重复一次 /string往右移动到有string的地方 ?string往左移动到有string的地方 n ?nbsp;配合/&?使用,重复一次 N ?nbsp;配合/&?使用,反方向重复一次 指令说明?缸?nbsp; n( 左括号移动到句子的最前面句子是以前面加上数字可以指定往前移动n个句子!.?三种符号来界定 n)?nbsp;右括号移动到下个句子的最前面前面加上数字可以指定往後移动n个句子!.?三种符号来界定 n{ ?左括弧移动到段落的最前面段落是以段落间的空白列界定 n}前面加上数字可以指定往前移动n个段落右括弧移动到下个段落的最前面前面加上数字可以指定往後移动n个段落段落是以段落间的空白列界定 (三)、更多的编辑指令 这些编辑指令非常有弹性,基本上可以说是由指令与范围所构成。例如dw是由删除指令d与范围w所组成,代表删除一个字d(elete)w(ord)。 指令列表如下: d删除(delete) y复制(yank) p放置(put) c修改(change) 范围可以是下列几个: e光标所在位置到该字的最後一个字母 w光标所在位置到下个字的第一个字母 b光标所在位置到上个字的第一个字母 $光标所在位置到该列的最後一个字母 0光标所在位置到该列的第一个字母 )光标所在位置到下个句子的第一个字母 (光标所在位置到该句子的第一个字母 )光标所在位置到该段落的最後一个字母 {光标所在位置到该段落的第一个字母 说实在的,组合这些指令来编辑文件有一点点艺术气息。不管怎麽样,它们提供更多编辑文字的能力。值得注意的一点是删除与复制都会将指定范围的内容放到暂存区里,然後就可以用指令p贴到其它地方去,这是vi用来处理区段拷贝与搬移的
办法
鲁班奖评选办法下载鲁班奖评选办法下载鲁班奖评选办法下载企业年金办法下载企业年金办法下载
。 某些vi版本,例如Linux所用的elvis可以大幅简化这一坨指令。如果稍微观察一下这些编辑指令就会发现问题其实是定范围的方式有点杂,实际上只有四个指令罢了。指令v非常好用,只要按下v键,光标所在的位置就会反白,然後就可以移动光标来设定范围,接著再直接下指令进行编辑即可。对於整列操作,vi另外提供了更方便的编辑指令。前面曾经提到过删除整列文字的指令dd就是其中一个;cc可以修改整列文字;而yy则是复制整列文字;指令D则可以删除光标到该列结束为止所有的文字。 (四)、文件操作指令 文件操作指令多以:开头,这跟编辑指令有点区别。 :q结束编辑(quit) :q!不存档而要放弃编辑过的文件。 :w保存文件(write)其後可加所要存档的档名。 :wq即存档後离开。 zz功能与:wq相同。 :x与:wq相同·实用技巧:Linux系统下VI命令快捷键集合·光标控制命令 命令光标移动 h或^h向左移一个字符 j或^j或^n向下移一行 k或^p向上移一行 l或空格向右移一个字符 G移到文件的最后一行 nG移到文件的第n行 w移到下一个字的开头 W移到下一个字的开头,忽略标点符号 b移到前一个字的开头 B移到前一个字的开头,忽略标点符号 L移到屏幕的最后一行 M移到屏幕的中间一行 H移到屏幕的第一行 e移到下一个字的结尾 E移到下一个字的结尾,忽略标点符号 (移到句子的开头 )移到句子的结尾 {移到段落的开头 }移到下一个段落的开头 0或|移到当前行的第一列 n|移到当前行的第n列 ^移到当前行的第一个非空字符 $移到当前行的最后一个字符 +或return移到下一行的第一个字符 -移到前一行的第一个非空字符 在vi中添加文本 命令插入动作 a在光标后插入文本 A在当前行插入文本 i在光标前插入文本 I在当前行前插入文本 o在当前行的下边插入新行 O在当前行的上边插入新行 :rfile读入文件file内容,并插在当前行后 :nrfile读入文件file内容,并插在第n行后 escape回到命令模式 ^vchar插入时忽略char的指定意义,这是为了插入特殊字符 在vi中删除文本 命令删除操作 x删除光标处的字符,可以在x前加上需要删除的字符数目 nx从当前光标处往后删除n个字符 X删除光标前的字符,可以在X前加上需要删除的字符数目 nX从当前光标处往前删除n个字符 dw删至下一个字的开头 ndw从当前光标处往后删除n个字 dG删除行,直到文件结束 dd删除整行 ndd从当前行开始往后删除 db删除光标前面的字 ndb从当前行开始往前删除n字 :n,md从第m行开始往前删除n行 d或d$从光标处删除到行尾 dcursor_command删除至光标命令处,如dG将从当产胆行删除至文件的末尾 ^h或backspace插入时,删除前面的字符 ^w插入时,删除前面的字·修改vi文本 每个命令前面的数字表示该命令重复的次数 命令替换操作 rchar用char替换当前字符 Rtextescape用text替换当前字符直到换下Esc键 stextescape用text代替当前字符 S或cctextescape用text代替整行 cwtextescape将当前字改为text Ctextescape将当前行余下的改为text cGescape修改至文件的末尾 ccursor_cmdtextescape从当前位置处到光标命令位置处都改为text 在vi中查找与替换 命令查找与替换操作 /text在文件中向前查找text ?text在文件中向后查找text n在同一方向重复查找 N在相反方向重复查找 ftext在当前行向前查找text Ftext在当前行向后查找text ttext在当前行向前查找text,并将光标定位在text的第一个字符 Ttext在当前行向后查找text,并将光标定位在text的第一个字符 :setic查找时忽略大小写 :setnoic查找时对大小写敏感 :s/oldtext/newtext用newtext替换oldtext :m,ns/oldtext/newtext在m行通过n,用newtext替换oldtext &重复最后的:s命令 :g/text1/s/text2/text3查找包含text1的行,用text3替换text2 :g/text/command在所有包含text的行运行command所表示的命令 :v/text/command在所有不包含text的行运行command所表示的命令 在vi中复制文本 命令复制操作 yy将当前行的内容放入临时缓冲区 nyy将n行的内容放入临时缓冲区 p将临时缓冲区中的文本放入光标后 P将临时缓冲区中的文本放入光标前 "(a-z)nyy复制n行放入名字为圆括号内的可命名缓冲区,省略n表示当前行 "(a-z)ndd删除n行放入名字为圆括号内的可命名缓冲区,省略n表示当前行 "(a-z)p将名字为圆括号的可命名缓冲区的内容放入当前行后 "(a-z)P将名字为圆括号的可命名缓冲区的内容放入当前行前 在vi中撤消与重复 命令撤消操作 u撤消最后一次修改 U撤消当前行的所有修改 .重复最后一次修改 ,以相反的方向重复前面的f、F、t或T查找命令 ;重复前面的f、F、t或T查找命令 "np取回最后第n次的删除(缓冲区中存有一定次数的删除内容,一般为9) n重复前面的/或?查找命令 N以相反方向重复前面的/或?命令 保存文本和退出vi 命令保存和/或退出操作 :w保存文件但不退出vi :wfile将修改保存在file中但不退出vi :wq或ZZ或:x保存文件并退出vi :q!不保存文件,退出vi :e!放弃所有修改,从上次保存文件开始再编辑·vi中的选项 选项作用 :setall打印所有选项 :setnooption关闭option选项 :setnu每行前打印行号 :setshowmode显示是输入模式还是替换模式 :setnoic查找时忽略大小写 :setlist显示制表符(^I)和行尾符号 :setts=8为文本输入设置tabstops :setwindow=n设置文本窗口显示n行 vi的状态 选项作用 :.=打印当前行的行号 :=打印文件中的行数 ^g显示文件名、当前的行号、文件的总行数和文件位置的百分比 :l使用字母"l"来显示许多的特殊字符,如制表符和换行符 在文本中定位段落和放置标记 选项作用 {在第一列插入{来定义一个段落 [[回到段落的开头处 ]]向前移到下一个段落的开头处 m(a-z)用一个字母来标记当前位置,如用mz表示标记z '(a-z)将光标移动到指定的标记,如用'z表示移动到z 在vi中连接行 选项作用 J将下一行连接到当前行的末尾 nJ连接后面n行 光标放置与屏幕调整 选项作用 H将光标移动到屏幕的顶行 nH将光标移动到屏幕顶行下的第n行 M将光标移动到屏幕的中间 L将光标移动到屏幕的底行 nL将光标移动到屏幕底行上的第n行 ^e(ctrl+e)将屏幕上滚一行 ^y将屏幕下滚一行 ^u将屏幕上滚半页 ^d将屏幕下滚半页 ^b将屏幕上滚一页 ^f将屏幕下滚一页 ^l重绘屏幕 z-return将当前行置为屏幕的顶行 nz-return将当前行下的第n行置为屏幕的顶行 z.将当前行置为屏幕的中央 nz.将当前行上的第n行置为屏幕的中央 z-将当前行置为屏幕的底行 nz-将当前行上的第n行置为屏幕的底行 vi中的shell转义命令 选项作用 :!command执行shell的command命令,如:!ls :!!执行前一个shell命令 :r!command读取command命令的输入并插入,如:r!ls会先执行ls,然后读入内容 :w!command将当前已编辑文件作为command命令的
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
输入并执行command命令,如:w!grepall :cddirectory将当前工作目录更改为directory所表示的目录 :sh将启动一个子shell,使用^d(ctrl+d)返回vi :sofile在shell程序file中读入和执行命令 vi中的宏与缩写 (避免使用控制键和符号,不要使用字符K、V、g、q、v、*、=和功能键) 选项作用 :mapkeycommand_seq定义一个键来运行command_seq,如:mapeea,无论什么时候都可以e移到一个字的末尾来追加文本 :map在状态行显示所有已定义的宏 :umapkey删除该键的宏 :abstring1string2定义一个缩写,使得当插入string1时,用string2替换string1。当要插入文本时,键入string1然后按Esc键,系统就插入了string2 :ab显示所有缩写 :unastring取消string的缩写·在vi中缩进文本 选项作用 ^i(ctrl+i)或tab插入文本时,插入移动的宽度,移动宽度是事先定义好的 :setai打开自动缩进 :setsw=n将移动宽度设置为n个字符 n<<使n行都向左移动一个宽度 n>>使n行都向右移动一个宽度,例如3>>就将接下来的三行每行都向右移动一个移动宽度 1.编辑模式:插入/替换(按INSERT键切换) 2.[ESC]指令模式 3.输入模式将在指令模式下输入a 新增(a,A) a:从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动。 A:从光标所在列最后面的地方开始新增资料。 插入(i,I) i:从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。 I:从光标所在列的第一个非空白字元前面开始插入资料。 开始(o,O) o:在光标所在列下新增一列并进入输入模式。 O:在光标所在列上方新增一列并进入输入模式。 4.存盘/退出 [ESC]:wq//存盘退出 :w!//存盘继续 :q//退出(源文件未被编辑过可用) :q!//强制退出 5.删除与改修 [ESC]x//删除光标所在字符 dd//删除光标所在列。 r//修改光标所在字元,r后接着要修正的字符。 R//进入取替换状态。 s//删除光标所在字元,并进入输入模式。 S//删除光标所在的列,并进入输入模式。 6.恢复 [ESC]u//可以恢复被删除的文字。 U//可以恢复光标所在列的所有改变。