大学课件:vi编辑器.ppt_第1页
大学课件:vi编辑器.ppt_第2页
大学课件:vi编辑器.ppt_第3页
大学课件:vi编辑器.ppt_第4页
大学课件:vi编辑器.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第4讲vi编辑器 4 1vi的工作模式 Vi没有菜单 只有命令 且命令繁多 Vi有三种基本工作模式 命令行模式 文本输入模式和末行模式 命令行模式 任何时候 不管用户处于何种模式 只要按一下键 即可使Vi进入命令行模式 行号显示 取消 setnumber或setnumsetnonumber 文本输入模式 在命令模式下输入插入命令i 附加命令a打开命令o 修改命令c 取代命令r或替换命令s都可以进入文本输入模式 在该模式下 用户输入的任何字符都被Vi当做文件内容保存起来 并将其显示在屏幕上 在文本输入过程中 若想回到命令模式下 按键即可 末行模式 在命令模式下 用户按 键即可进入末行模式下在显示窗口的最后一行 通常也是屏幕的最后一行 显示一个 作为末行模式的提示符 等待用户输入命令 末行命令执行完后 Vi自动回到命令模式在命令模式 用户就可以键入一些命令 这些命令可用来保存文件 读取文件内容 执行Shell命令 设置Vi参数 以正则表达式的方式查找字符串或替换字符串等 4 2编辑模式 1 移动光标k j h l功能分别等同于上 下 左 右箭头键Ctrl b在文件中向上移动一页 相当于PageUp键 Ctrl f在文件中向下移动一页 相当于PageDown键 H将光标移到屏幕的最上行 Highest nH将光标移到屏幕的第n行2H将光标移到屏幕的第2行M将光标移到屏幕的中间 Middle L将光标移到屏幕的最下行 Lowest nL将光标移到屏幕的倒数第n行3L将光标移到屏幕的倒数第3行w在指定行内右移光标 到下一个字的开头 e在指定行内右移光标 到一个字的末尾b在指定行内左移光标 到前一个字的开头0数字0 左移光标 到本行的开头 右移光标 到本行的末尾 移动光标 到本行的第一个非空字符 2 替换和删除 将光标定位于文件内指定位置后 rc用c替换光标所指向的当前字符nrc用c替换光标所指向的前n个字符5rc用c替换光标所指向的前5个字符x删除光标所指向的当前字符nx删除光标所指向的前n个字符3x删除光标所指向的前3个字符dw删除光标右侧的字 ndw删除光标右侧的n个字3dw删除光标右侧的3个字db删除光标左侧的字ndb删除光标左侧的n个字5db删除光标左侧的5个字dd删除光标所在行 并去除空隙ndd删除n行内容 并去除空隙3dd删除3行内容 并去除空隙 3 粘贴和复制 从正文中删除的内容 如字符 字或行 并没有真正丢失 而是被剪切并复制到了一个内存缓冲区中 用户可将其粘贴到正文中的指定位置 完成这一操作的命令是 p小写字母p 将缓冲区的内容粘贴到光标的后面P大写字母P 将缓冲区的内容粘贴到光标的前面 如果缓冲区的内容是字符或字 直接粘贴在光标的前面或后面 如果缓冲区的内容为整行正文 则粘贴在当前光标所在行的上一行或下一行 注意上述两个命令中字母的大小写 vi编辑器经常以一对大 小写字母 如p和P 来提供一对相似的功能 通常 小写命令在光标的后面进行操作 大写命令在光标的前面进行操作 有时需要复制一段正文到新位置 同时保留原有位置的内容 这种情况下 首先应当把指定内容复制 而不是剪切 到内存缓冲区 完成这一操作的命令是 yy复制当前行到内存缓冲区nyy复制n行内容到内存缓冲区5yy复制5行内容到内存缓冲区 4 搜索字符串 搜索方法是 键入字符 后面跟以要搜索的字符串 然后按回车键 编辑程序执行正向搜索 即朝文件末尾方向 并在找到指定字符串后 将光标停到该字符串的开头 键入n命令可以继续执行搜索 找出这一字符串下次出现的位置 用字符 取代 可以实现反向搜索 朝文件开头方向 例如 str1正向搜索字符串str1n继续搜索 找出str1字符串下次出现的位置 str2反向搜索字符串str2无论搜索方向如何 当到达文件末尾或开头时 搜索工作会循环到文件的另一端并继续执行 5 撤销和重复 在编辑文档的过程中 为消除某个错误的编辑命令造成的后果 可以用撤消命令 另外 如果用户希望在新的光标位置重复前面执行过的编辑命令 可用重复命令 u撤消前一条命令的结果 重复最后一条修改正文的命令 6 文本选中 vi可进入到一种成为Visual的模式 在该模式下 用户可以用光标移动命令可视地选择文本 然后再执行其他编辑操作 例如删除 复制等 v字符选中命令V行选中命令 4 3插入模式 1 进入插入模式在编辑模式下正确定位光标之后 可用以下命令切换到插入模式 i在光标左侧输入正文a在光标右侧输入正文o在光标所在行的下一行增添新行O在光标所在行的上一行增添新行I在光标所在行的开头输入正文A在光标所在行的末尾输入正文 在进入插入模式之前首先删去一段正文 从而实现正文的替换 这些命令包括 s用输入的正文替换光标所指向的字符ns用输入的正文替换光标右侧n个字符cw用输入的正文替换光标右侧的字ncw用输入的正文替换光标右侧的n个字cb用输入的正文替换光标左侧的字ncb用输入的正文替换光标左侧的n个字 cd用输入的正文替换光标的所在行ncd用输入的正文替换光标下面的n行c 用输入的正文替换从光标开始到本行末尾的所有字符c0用输入的正文替换从本行开头到光标的所有字符 2 退出插入模式 退出插入模式的方法是 按ESC键或组合键Ctrl 4 4命令模式 在vi的命令模式下 可以使用复杂的命令 在编辑模式下键入 光标就跳到屏幕最后一行 并在那里显示冒号 此时已进入命令模式 命令模式又称 末行模式 用户输入的内容均显示在屏幕的最后一行 按回车键 vi执行命令 1 退出命令 在编辑模式下可以用ZZ命令退出vi编辑程序 该命令保存对正文所作的修改 覆盖原始文件 如果只需要退出编辑程序 而不打算保存编辑的内容 可用下面的命令 q在未作修改的情况下退出 q 放弃所有修改 退出编辑程序 2 行号与文件 编辑中的每一行正文都有自己的行号 用下列命令可以移动光标到指定行 n将光标移到第n行命令模式下 可以规定命令操作的行号范围 数值用来指定绝对行号 字符 表示光标所在行的行号 字符符 表示正文最后一行的行号 简单的表达式 例如 5 表示当前行往下的第5行 例如 345wfile第345行写入file文件 3 5wfile将第3行至第5行写入file文件 1 wfile将第1行至当前行写入file文件 wfile将当前行至最后一行写入file文件 5wfile从当前行开始将6行内容写入file文件 1 wfile将所有内容写入file文件 相当于 wfile命令 在命令模式下 允许从文件中读取正文 或将正文写入文件 例如 w将编辑的内容写入原始文件 用来保存编辑的中间结果 wq将编辑的内容写入原始文件并退出编辑程序 相当于ZZ命令 wfile将编辑的内容写入file文件 保持原有文件的内容不变 a bwfile将第a行至第b行的内容写入file文件 rfile读取file文件的内容 插入当前光标所在行的后面 efile编辑新文件file代替原有内容 ffile将当前文件重命名为file f打印当前文件名称和状态 如文件的行数 光标所在的行号等 3 字符串搜索 正向搜索 将待搜索的字符串置于两个 之间 反向搜索 则将字符串放在两个 之间 例如 str 正向搜索 将光标移到下一个包含字符串str的行 str 反向搜索 将光标移到上一个包含字符串str的行 str wfile正向搜索 并将第一个包含字符串str的行写入file文件 str1 str2 wfile正向搜索 并将包含字符串str1的行至包含字符串str2的行写入file文件 4 正文替换 利用 s命令可以实现字符串的替换 具体的用法包括 s str1 str2 用字符串str2替换行中首次出现的字符串str1 s str1 str2 g用字符串str2替换行中所有出现的字符串str1 s str1 str2 g用字符串str2替换正文当前行到末尾所有出现的字符串str1 1 s str1 str2 g用字符串str2替换正文中所有出现的字符串str1 g str1 s str2 g功能同上可见 g放在命令末尾 表示对搜索字符串的每次出现进行替换 不加g 表示只对搜索字符串的首次出现进行替换 g放在命令开头 表示对正文中所有包含搜索字符串的行进行替换操作 5 删除正文 在命令模式下 同样可以删除正文中的内容 例如 d删除光标所在行 3d删除3行 d删除当前行至正文的末尾 str1 str2 d删除从字符串str1到str2的所有行 6 恢复文件 vi在编辑某个文件时 会另外生成一个临时文件 这个文件的名称通常以 开头 并以 swp结尾 vi在正常退出时 该文件被删除 若意外退出 而没有保存文件的最新修改内容 则可以使用恢复命令 recover恢复文件也可以在启动vi时利用 r选项 4 5选项设置 为控制不同的编辑功能 vi提供了很多内部选项 利用 set命令可以设置选项 基本语法为 setoption设置选项option常见的功能选项包括 autoindent设置该选项 则正文自动缩进ignorecase设置该选项 则忽略规则表达式中大小写字母的区别number设置该选项 则显示正文行号 ruler设置该选项 则在屏幕底部显示光标所在行 列的位置tabstop设置按Tab键跳过的空格数 例如 settabstop n n默认值为8mk将选项保存在当前目录的 exrc文件中 4 6shell切换 1 在编辑正文时执行shell命令语法格式为 Command如 ls l功能 执行完shell命令command后回到vi2 在线求助在命令模式下 键入K 可命令vi查找光标所在单词的手册页 相当于运行man命令 练习 熟练掌握vi的以下功能 1 工作状态切换 2 常用编辑功能 插入 删除 复制 粘贴操作 3 文件内容的查找 替换 4 文件保存 VI的命令总结 一 插入文本 命令 描述 i 在当前字符前插入文本 I 在行首插入文本 a 在当前字符后添加文本 A 在行末添加文本 o 在当前行后面插入一空行 O 在当前行前面插入一空行 R 以改写方式输入文本 二 移动光标 命令 描述 j或下箭头 向下移动一行 k或上箭头 向上移动一行 h或左箭头 左移一个字符 l或右箭头 右移一个字符 w 右移一个词 W 右移一个以空格分隔的词 b 左移一个词 B 左移一个以空格分隔的词 0 移到行首 Ctrl F 向前翻页 Ctrl B 向后翻页 nG 到第n行 G 到最后一行 三 替换文本 命令 描述 到行尾 到句子的开头 到句子的末尾 到段落的开头 到段落的末尾 四 删除文本 命令 描述 r 替换一个字符 c 修改文本直到按下Esc健 cw 修改下一个词 cnw 修改接下来的n个词 五 文本编辑 命令 描述 yy 将一行文本移到缺省缓冲区中 yn 将下一个词移到缺省缓冲区中 ynw 将后面的n个词移到缺省缓冲区中 p

温馨提示

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

评论

0/150

提交评论