第五章 编辑程序vi 概述 1. 编辑器的基本工作流程: 内 存 编 辑 缓 "窗口" 冲 区 磁盘 文件系统 ②编辑文件

Slides:



Advertisements
Similar presentations
第 3 章 UNIX 文本编辑程序. 第3章 第2页第3章 第2页 UNIX 的文本编辑程序 常用的文本编辑器  行编辑 ed  全屏幕编辑 vi 使用场合  行编辑 ed 常用于脚本程序中,使用输入重定向  例如:安装软件时,用来修改系统配置文件  vi 用于人机交互式编辑文本文件.
Advertisements

第二框 生命科技与生命伦理.
第二章走进Windows XP操作系统 第二节 Windows XP文件和文件夹管理.
VI编辑器的使用 College of Information Science and Engineering
关于市场营销的分析 ——以九阳豆浆机为例 品牌经营——让每一个家庭都拥有一台九阳豆浆机 营销管理——采取文化、概念、网络等营销组合
成才之路 · 语文 人教版 • 中国古代诗歌散文欣赏 路漫漫其修远兮 吾将上下而求索.
年终总结 通用模板 简洁实用 工作总结 年终汇报 工作计划.
第二节 留 数 一、留数的引入 二、利用留数求积分 三、在无穷远点的留数 四、典型例题 五、小结与思考.
vi工作方式 命令状态:键盘输入解释为命令 vi一启动就进入命令方式,键盘输入解释为命令 一般按键无回显 以冒号可以引入ex命令和查找命令
第三单元 单元写作学案 确立自信 学习反驳.
授课教师简历 刘付才,男,中学高级教师,亳州一中南校体 育教研组长,全国体育优质课一等奖获得者,华佗 五禽戏第五十八代传承人;长期从事五禽戏教学和 研究工作,参与创编了国家级课题“校园五禽戏”; 2014年全国学生运动会展示中获得优秀表演奖; 2015年指导的五禽戏传人进行的五禽戏教学获得全 国一等奖,编著的《华佗五禽戏之简易健身操》即.
闲言碎语.
二十 石钟山记.
王 璐 中原工学院计算机学院 Linux操作系统 王 璐 中原工学院计算机学院
第一章 语言文字运用 专题五  挖掘隐含信息,准确实现图文转换.
教育部補助 「大專校院社團帶動中小學社團發展」
企業講座 組長: 張仁杰 組員: 指導老師:洪伯毅 楊巧歆 楊明芬 陳璿安
键盘指法勤练习 漳潭中心学校 周春兰.
在PHP和MYSQL中实现完美的中文显示
Linux 的進階檔案處理.
第三章 文本编辑器vi.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
SVN服务器的搭建(Windows) 柳峰
黃印良 本教材引用自 作者:Edward Lee
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第六章 中文处理.
第 5 章 文字編輯工具 內容: Vi Vim.
Linux 操作系统 Vim 编辑器的使用.
第四章 附件 (应用程序软件包).
YMSM D-PACK 安装手册 作成者:D-PACK维护组(YMSLx) 作成日:
第一节 大数定律 一、问题的引入 二、基本定理 三、典型例题 四、小结.
Java语言程序设计 清华大学出版社 第8章 输入输出流(1).
Gzip编译及调试 曹益华
SOA – Experiment 2: Query Classification Web Service
第二章 登录UNIX操作系统.
大綱 *專題演講介紹 *大陸醫療的改革與發展 *海報發表文章分享 2012海峽兩岸醫院院長論壇行後報告 ‧台北
新PQDT论文全文库提交平台.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
Logo语言. Logo语言 视图窗口 小海龟 ?: 提示符 l: 光标 命令窗口.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
Lab17 程序设计B班
Word中活用“艺▪图▪框” 信息技术必修(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
文档创建与发布操作要点 青海省教育信息中心 2018年12月18日.
Europe and the United States business
3.16 枚举算法及其程序实现 ——数组的作用.
第六章 素材的加工与处理 第13讲 用GoldWave进行音频的截取、合并、淡入淡出操作
个人简历竞聘求职 Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
2017 万圣节PPT模版 添加你的标题在此处添加你的标题在此处.
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
雷锦江 Edwin Guide 雷锦江
Visual Basic程序设计 第13章 访问数据库
VRP教程 2011.
Lync 2013 for Android 课程摘要卡 加入 Lync 会议 登录并开始使用 在会议中启动您的视频 更改状态或注销
Python 环境搭建 基于Anaconda和VSCode.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
杨振伟 清华大学 第一讲:Linux操作系统与Linux环境下编程
练习二 总分: 23 *此封面页请勿删除,删除后将无法上传至试卷库,添加菜单栏任意题型即可制作试卷。本提示将在上传时自动隐藏。
05 债务重组.
第四章 UNIX文件系统.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
RefWorks使用指南 归档、管理个人参考文献.
考察点:switch\while\for System.in\Scanner char vs int
04 03 add your text. add your text. add your text. add your text add your text. add your text. add your text. add your text. add your text add your text.
Presentation transcript:

第五章 编辑程序vi 概述 1. 编辑器的基本工作流程: 内 存 编 辑 缓 "窗口" 冲 区 磁盘 文件系统 ②编辑文件 2019年5月4日 概述 1. 编辑器的基本工作流程: ②编辑文件 窗 口 上 下 移 动 内 存 编 辑 缓 冲 区 ③将编辑结果写回到磁盘中 "窗口" 显示部分文本 磁盘 文件系统 ①读入已有文件或建立新文件

编辑器的类型 根据编辑命令每次处理的文本单位, 可将编辑器分 为: . 行编辑器 :编辑单位为行 。命令为edit、e、ex . 屏幕编辑器 : 编辑单位为字符 。 命令为vi、v、view 在实际UNIX系统中, 把两类编 辑器的功能融合在一起形成一个 统一的编辑器. 事实上这几个命 令通常都对应一个编辑器, 是一 个命令的多个名字. 屏幕编辑器 vi、view 行编辑器 edit、ex

屏幕编辑器 vi 1. vi 的两种工作模式 . 命令模式 ---- 进入vi 后的初始模式, 也是 vi 的基本工作 模式. 主要包括移动光标, 删除文本, 粘贴 文本和查找文本等. . 文本输入模式 ---- 是命令模式下的子模式. 该模式下除 ESC键以外的所有其它键都作为输入字符 添加到被编辑的文本中. 文本输入完成后 必须按ESC键从文本输入模式返回到命令 模式后, 才能继续完成其它操作.

vi 的基本使用 ① 从shell状态进入 vi , 命令格式为: $ vi filename ( 例如: vi abc ) 2019年5月4日 vi 的基本使用 ① 从shell状态进入 vi , 命令格式为: $ vi filename ( 例如: vi abc ) _ ~ “abc”[new file] 0 lines, 0 chars aaaaaaaaaa bbbbbbbbbb cccccccccc dddddddddd ~ “abc” 4 lines, 40 chars abc是不存在的新文件 abc是已存在的文件

退出 vi , 返回到shell状态下: 进入vi后程序通常处在vi的命令模式下, 要退出 vi , 可在命令模式下发出 :wq 并按回车键, 即可返回 到shell状态下. 说明: .在vi的命令模式下发出的编辑命令通常不需要 按回车键, 但以冒号(:)开始的编辑命令需要回 车键.  .返回命令 :wq 可以分开发出.

三. vi 编辑命令 vi 编辑程序的主要功能包括: .输入文本 .移动光标 .删除文本 .替换文本 .搜索文本 .其它辅助操作    .替换文本    .搜索文本 .其它辅助操作    .保存文件, 退出编辑程序 文本输入模式 命令 模式

文本输入模式 从命令模式进入文本输入模式的命令键: i 在光标前插入文本 I 在光标所在行首插入文本 a 在光标后加入文本 2019年5月4日 文本输入模式 从命令模式进入文本输入模式的命令键: i 在光标前插入文本 I 在光标所在行首插入文本 a 在光标后加入文本 A 在光标所在行尾加入文本 o 在光标所在行下面新加一行 O 在光标所在行上面新加一行 ESC 退出文本输入模式, 返回命令模 式

Vi编辑器的工作模式 启动 命令模式 i : I 其他命令 :prompt a wq q q! A o O 输入模式 Esc 结束vi

2. 命令模式 光标移动 . ←↓↑→ 光标左下上右移动 . h j k l 光标左下上右移动 . ^ 光标从当前位置移到本行行首 . $ 光标从当前位置移到本行行尾 . + 光标下移一行 . - 光标上移一行 . 空格键 光标左移 . 退回键 光标右移

x、dw、dd命令前都可以加上数字,表示 同时删除多个单位。 2019年5月4日 删除文本 . x 删除光标所在字符 . dw 删除光标所在词(word)的从光 标开始到该词结尾的部分 . D 删除光标所在位置到行尾部分 . dd 删除光标所在行 x、dw、dd命令前都可以加上数字,表示 同时删除多个单位。

替换文本 .字符替换命令 r 把当前光标所在字符替换为紧跟在r 后面的字符 (只替换一个字符) .单词替换命令 cw 2019年5月4日 替换文本 .字符替换命令 r 把当前光标所在字符替换为紧跟在r 后面的字符 (只替换一个字符) .单词替换命令 cw 把当前光标所在单词中, 从光标所在 字符到该单词结尾部分, 替换为紧跟在 cw命令后输入的部分, 直到ESC键结束. (新输入部分可能与被替换部分不等长)

④ 搜索文本 ( / 和 ? 命令) 键入 / 后, / 出现在屏幕左下角, 当输入要 查询的字符串并按回车后, vi 从当前位置开 2019年5月4日 ④ 搜索文本 ( / 和 ? 命令) 键入 / 后, / 出现在屏幕左下角, 当输入要 查询的字符串并按回车后, vi 从当前位置开 始向文件尾方向进行查找, 并停留在找到的 第一个字符串位置. 如果按 n 则继续向文件 尾方向查找. 如果查找到文件尾后继续按 n 则又从文件头开始向文件尾方向进行查找. 在查找过程中如果按 N 键, 则是向文件头 方向进行查找. ? 命令与 / 命令功能完全相同, 只是查找 方向是从当前位置向文件头方向进行.

其它辅助操作 u 命令 取消最近一条修改文本的命令. . 命令 重复最近一条修改命令 J 命令 把下一行连接到当前行的行尾 2019年5月4日 其它辅助操作 u 命令 取消最近一条修改文本的命令. . 命令 重复最近一条修改命令 J 命令 把下一行连接到当前行的行尾 p 命令 把最近一次删除命令删除的内 容粘贴到当前光标之后, 光标以 后的内容依次向后移动; 如果最 近删除的是行, 则粘贴到当前行 下面, 原当前行下面的行依次向 下移动. 对一次删除的文本, 可 用p 命令粘贴任意多次.

例如: 删除/粘贴命令对( dd/p ) : 发2dd 后 下移一行按p 当前文本 复制/粘贴命令对 ( yy/p ) : 当前文本 2019年5月4日 11111111111 2222222222 3333333333333 444444444444 55555555555 3333333333333 444444444444 55555555555 3333333333333 444444444444 11111111111 2222222222 55555555555 发2dd 后 下移一行按p 当前文本 复制/粘贴命令对 ( yy/p ) : aaaaaaaaaaaa bbbbbbbbbbb ccccccccccccc aaaaaaaaaaaa bbbbbbbbbbb ccccccccccccc aaaaaaaaaaaa bbbbbbbbbbb ccccccccccccc 当前文本 下移两行按p 发2yy 后

保存文本, 退出编辑程序 :wq 保存文本, 退出vi , 返回shell :w 保存文本, 不退出, 继续在vi 中 :w file 把文本保存到文件file 中, 不退出 :q 退出vi , 返回到shell中 :q! 强行退出vi , 不保存修改过的文本 注: :q 命令如运行成功, 隐含着文本未被修改或 修改后已保存, 否则程序将给出错误提示, 并 拒绝退出.

3. vi 的工作模式和状态转换 login exit Shell 模式 man date who passwd 显示系 统时间 显示当 2019年5月4日 login exit Shell 模式 man date vi file who :wq passwd 显示系 统时间 显示当 前用户 联机 手册 修改 口令 vi 命令模式 dd ←↓↑→ ESC dw h j k l + - o a x i 改变 位置 删除 正文 vi 输入模式

在行编辑器中每一条编辑命令编辑的单位是行 行编辑器 edit 在行编辑器中每一条编辑命令编辑的单位是行 而不是字符, 定位点是"当前行"而不是"光标所在 字符". 1. 进入行编的两种方法 ① 从shell 进入行编: $ edit ( 或 e , ex) file 2019年5月4日 aaaaaaaaaaaaaa bbbbbbbbbbbbb ccccccccccccccc ddddddddddddd eeeeeeeeeeeeeee "file" 5lines, 70chars :_ …… % ex file "file" [new file] :_ file已存在 file是新文件

在屏编的命令模式下按冒号(:) 即可进入行编 2019年5月4日 ② 从vi 的屏编状态进入行编: 在屏编的命令模式下按冒号(:) 即可进入行编 111111111 222222222222 33333333 111111111 222222222222 33333333 :_ 屏编命令模式 行编命令模式

退出行编 ① 从行编退回到屏编: v 或 vi 行编状态 回到屏编状态 从行编回到屏编后, 光标停留在行编处理的最后一行的行首 2019年5月4日 退出行编 ① 从行编退回到屏编: aaaaaaaaaa bbbbbbbbbbbb cccc dddddddddd :_ aaaaaaaaaa bbbbbbbbbbbb cccc dddddddddd v 或 vi 行编状态 回到屏编状态 从行编回到屏编后, 光标停留在行编处理的最后一行的行首

② 从行编退回到 shell 状态: :wq 写回(覆盖)原文件, 并退回shell :w filename 写到文件filename 中, 不退出 :w! filename 强行写到文件filename中, 不退出 :q 退出行编辑(不写出), 返回shell :q! 强行退出行编, 返回shell 实际上这也是屏编退出的命令! 2019年5月4日

3. 常用行编命令 (下面m和n为具体数字) :n 把第n行作为当前行(移动到第n行去) :np 显示第n行的内容, 并把第n行作为当前行 :m, np 显示第m行到第n行的内容, 并把第n行作为当 前行 :d 显示当前行, 被删除行的下一行为当前行 :nd 删除第n行的内容, (删除操作后的)第n行为当前 行 :m, nd 删除第m行到第n行的内容, (删除操作后的)第n 行为当前行 :a 在当前行的下一行开始输入文本, 直到ESC键 为止 2019年5月4日

把当前行中的第一个string1字符串替换为字符 串string2 例如: s/student/teacher/ :1,$ 从第一行到最后一行(整个文本) 例如: :1,$p 显示所有文本 :.,$ 从当前行到最后一行 :s/string1/strings2/ 把当前行中的第一个string1字符串替换为字符 串string2 例如: s/student/teacher/ :m,ns/string1/string2/g 把从m行到n行中的所有strings1替换成string2 例如: 5,96s/Sep/Oct/g :r filename 在当前行的后面读入(附加)文件filename的内容 例如: :r func7 :nr filename 在第n行的后面读入(附加)文件filename的内 容 2019年5月4日

vi 命令的其它选项 恢复上次的编辑副本: $ vi -r filename 把上次已被修改过, 但因意外中断而未被保存的文件 2019年5月4日 vi 命令的其它选项 恢复上次的编辑副本: $ vi -r filename 把上次已被修改过, 但因意外中断而未被保存的文件 filename 读入到编辑缓冲区中, 使得编辑工作接着上次 继续进行. 编辑多个文件: $ vi file1 file2 file3 首先编辑第一个文件, 编辑完并用:w 命令保存后用命 令 :n 则开始编辑第二个文件; 依此类推. 编辑加密文件: $ vi -x filename 如果被编辑文件filename 是经过encrypt加密的, 则可使 用 –x 选项在回答了口令后对文本文件进行编辑.

vi除文本编辑之外的功能: 1、在vi中执行unix命令 (!ls) 2、命令行编辑功能 ($set -o vi)