vi-编辑器.doc_第1页
vi-编辑器.doc_第2页
vi-编辑器.doc_第3页
vi-编辑器.doc_第4页
vi-编辑器.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

VI 编辑器一、vi的基本概念:模式vi是一个文本编辑器,但他与今天流行的编辑器有所不同。今日的编辑器不区分文本的输入和编辑,在一个状态下操作,用菜单、鼠标或是快捷键来输入命令,这就需要鼠标或特殊的键盘(比如带Alt键和Ctrl键)。为了在各种千奇百怪的Unix系统中保持相同的行为,捆绑在Unix中的vi尽可能少的依赖设备,vi中的几乎所有的操作都只需要键盘,而且是只需要主键盘区。但是主键盘区的字符太少,输入同一个x,既可能是删除命令,也可能是文本中的字符,如何判断。这就取决于vi当时的状态,所以说vi是一个模式编辑器,同一输入在不同模式下有不同含义。基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1. 插入模式(Insert mode) 在插入模式下的输入都解释为文本的内容。也就是说,只有在Insert mode下,才可以做文字输入。2. 命令模式(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode,或者到 last line mode。在命令模式下的输入都解释为命令。要做编辑修改,必须进入命令模式。 3. 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。 不过一般把vi简化成两个模式,就是将底行模式(last line mode)算作命令行模式command mode)的一种特殊形式。在插入模式下,按ESC键可切换到命令模式,如果在命令模式下按ESC键则仍然保持命令模式,同时系统喇叭会发出哔的响声。所以你完全可以多按几下ESC,确保处于命令模式。 二、vi的基本操作 1. 进入vi在系统命令提示符输入vi及文件名称后,就进入vi全屏幕编辑画面,例如:$ vi myfile 刚进入vi之后,是处于命令行模式(command mode),你需要切换到插入模式(Insert mode)才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到插入模式(Insert mode)再说吧! 2. 切换至插入模式(Insert mode)编辑文件 在命令行模式(command mode)下按一下字母i就可以进入插入模式(Insert mode),这时候你就可以开始输入文字了。3. Insert 的切换 您目前处于插入模式(Insert mode),您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下ESC键转到命令行模式(command mode)再删除文字。4. 退出vi及保存文件 在命令行模式(command mode)下,按一下:冒号键进入Last line mode,例如: : w filename (输入 w filename将文章以指定的文件名filename保存) : wq (输入wq,存盘并退出vi) : q! (输入q!, 不存盘强制退出vi)三、命令行模式(command mode)功能键 在命令行模式下,字符或是字符的组合就是命令,以下列出字符命令及其含义。附加说明:1.大小写是有区别的2.光标有两种形式,一个闪动的方框表示处于命令行模式、字符下的短横线意味着在插入状态。他总是在字符上闪动的位置称为光标的当前位置。格式示例:单独字符,例如 i,表示按下键盘上的i键。字符组合,例如ctrl + b,表示同时按下ctrl和b键。nG,表示先输入一个数字n(或其他参数)再按下G。同xx键,表示可以使用其它特殊功能键来代替,例如同home,就是可以用小键盘区的home键来完成。(insert),表示该命令是insert的缩写。此外,大小写是有区别的。1. 从插入模式切换为命令行模式 按ESC键。 2. 切换进入插入模式 i - 进入插入模式insert mode,从光标当前位置前面开始插入资料,光标及其后的内容自动向后移动,(insert)。a - 进入插入模式,从光标所在位置后面开始新增资料,光标及其后的内容自动向后移动,(append)。 o - 进入插入模式,在光标所在行下新增一行,从行首开始输入文字。注意,这是小写字母o,不是数字0。(open)。I - 进入插入模式,从光标所在行的第一个非空白字符前面开始插入资料。A - 进入插入模式,从光标所在行最后面的地方开始新增资料。O - 进入插入模式,在光标所在行上方新增一行,从行首开始输入文字。(Open)。3. 删除和替换x - 每按一次,删除光标所在位置的一个字符。 nx - 表示删除光标所在位置及其后面的n个字符。 X - 大写的X,每按一次,删除光标所在位置的前面一个字符。 nX - 删除光标所在位置的前面n个字符。 dd - 删除光标所在行。ndd - 从光标所在行开始删除n行。s - 删除光标所在字符,并进入输入模式。S - 删除光标所在的行,并进入输入模式。r - 修改光标所在字符,r 後接著要修正的字符。R - 进入取替换状态,新增文字会覆盖原先文字,直到按 ESC 回到指令模式下为止。4. 复制 yw - 将光标所在之处到字尾的字符复制到缓冲区中。 #yw - 复制#个字到缓冲区 yy - 复制光标所在行到缓冲区。 #yy - 拷贝从光标所在的该行往下数n行文字。 p - 将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。5. 回复和修改u - 如果您误执行一个命令,可以马上按下u,回到上一个操作。按多次“u”可以执行多次回复。cw - 更改光标所在处的字到字尾处 c#w - 表示更改#个字 6.Last line mode下命令在使用last line mode之前,请记住先按ESC键确定您已经处于command mode下后,再按:即可进入last line mode。 set nu 列出行号,会在文件中的每一行前面列出行号。 # - #号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了。w - 可以将文件保存起来。跟上文件名,可以存为别的文件。q - 就是退出。q! - 不保存,强制离开vi。 qw - 一般建议离开时,搭配w一起使用,这样在退出的时候还可以保存文件。zz - 功能与 :wq 相同。:x - 与:wq相同 7. 移动光标 vi可以直接用键盘上的光标来上下左右移动,如果你的键盘上有的话。但正规的vi是用小写英文字母hjkl控制光标。光标的移动可以输入参数。vi的光标移动花样繁多。灵活的使用,可以快速的在几百页的文档中来去自如。(1) 无参数的移动 h - 光标 左 移,同 leftj - 光标 下 移,同 downk - 光标 上 移,同 upl - 光标 右 移,同 downctrl + b - 屏幕往“后”移动一页。 同 PageUpctrl + f - 屏幕往“前”移动一页。 同 PageDownctrl + u - 屏幕往“后”移动半页。 ctrl + d - 屏幕往“前”移动半页。 H - 移动到视窗的第一行 (head)M - 移动到视窗的中间行 (middle)L - 移动到视窗的最后行 (leg)0 - 移动到光标所在行的行首。同 Home,数字 0 也可。 - 移动到光标所在行的行首第一个非空白字符。$ - 移动到光标所在行的行尾。同 Endw - 移动到下个字的第一个字母 (word)e - 移动到下个字的最后一个字母 (end)b - 移动到上个字的第一个字母 (back) G - 移动到文章的最后。 (2) 有参数的移动 nG - 直接用数字 n 加上大写 G 移动到第 n 行ctrl + g - 列出光标所在行的行号。 n- - 减号,移动到上一行的第一个非空白字元,前面加上数字可以指定移动到以上 n 行 n+ - 加号,移动到下一行的第一个非空白字元,前面加上数字可以指定移动到以下 n 行fx - 往右移动到 x 字元上Fx - 往左移动到 x 字元上 tx - 往右移动到 x 字元前Tx - 往左移动到 x 字元前; - 配合 f&t 使用,重复一次, - 配合 f&t 使用,反方向重复一次 /string - 往右移动到有 string 的地方?string - 往左移动到有 string 的地方n - 配合 /&? 使用,重复一次 N - 配合 /&? 使用,反方向重复一次 n( - 左括号,移动到句子的最前面。前面加上数字可以指定往前移动 n 个句子n) - 右括号,移动到下个句子的最前面。前面加上数字可以指定往后移动 n 个句子句子由! . ? 三种符号来界定。n - 左括弧,移动到段落的最前面。前面加上数字可以指定往前移动 n 个段落n - 右括弧,移动到下个段落的最前面。前面加上数字可以指定往后移动 n 个段落。段落是以段落间的空白行界定。nl - 光标移到该行的第n个位置,如:6l,24l。8.组合而成的更多的编辑指令这些编辑指令非常有弹性,基本上可以说是由指令与范围所构成。例如 dw 是由删除指令 d 与范围 w 所组成,代表删除一个字d(elete) w(ord) 。指令列表如下:d 删除(delete)y 复制(yank)p 放置(put)c 修改(change)范围可以是下列几个:e 光标所在位置到该字的最後一个字母w 光标所在位置到下个字的第一个字母b 光标所在位置到上个字的第一个字母$ 光标所在位置到该行的最後一个字母0 光标所在位置到该行的第一个字母) 光标所在位置到下个句子的第一个字母( 光标所在位置到该句子的第一个字母 光标所在位置到该段落的最後一个字母 光标所在位置到该段落的第一个字母它们提供更多编辑文字的能力。值得注意的一点是删除与复制都会将指定范围的内容放到暂存区里,然後就可以用指令 p 贴到其它地方去,这是 vi 用来处理区段拷贝与搬移的办法。某些 vi

温馨提示

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

评论

0/150

提交评论