当前位置:文档之家› UNIX课件六:Vi编辑器.ppt

UNIX课件六:Vi编辑器.ppt

合使用
:
:prompt
wq q q! 结束vi
Vi编辑器的工作模式
启动
i
命令模式
I
其他命令
a
A
o
O
Esc
输入模式
vi编辑器
5.1 vi编辑器概述 5.2 基本vi命令 5.3 vi的复杂应用 5.4 vi缓冲区 5.5 其他vi命令
一、vi启动选项
只读选项-R 以只读方式打开文件,不允许修改 可以使用w!强制写入
vi的一个特殊版本——view 总是以只读方式打开文件
-c选项 将指定的vi命令作为vi启动的一部分 常用来在开始编辑之前定位光标 例:$vi –c /most oracle.log表示在打开oracle.log文件之后, 搜索most字符串,并将光标定位到搜索位置。
二、编辑多个文件
vi可以一次打开多个文件进行编辑
三、数字编号缓冲区
编号为1到9的9个临时缓冲区 每次删除或者复制的文本存放在这些缓冲区中 缓冲区1总保存最新内容,其他缓冲区按数字排列依次
存储从新到旧的内容 访问指定的缓冲区:
用双引号+缓冲区编号+p(put操作符) 例如:”6p 表示将第6个缓冲区的内容粘贴到光标位置
三、字母编号缓冲区
三、vi编辑器的工作模式
状态行 在屏幕底部的一行 命令模式下的有些命令以:号,/号和?号开头,显示 在状态行 反馈用户编辑操作的结果 显示错误或其它信息
vi编辑器
5.1 vi编辑器概述 5.2 基本vi命令 5.3 vi的复杂应用 5.4 vi缓冲区 5.5 其他vi命令
一、基本操作
3333333333333 444444444444 11111111111 2222222222 55555555555
下移一行按p
aaaaaaaaaaaa bbbbbbbbbbb ccccccccccccc aaaaaaaaaaaa bbbbbbbbbbb
下移两行按p
四、vi操作符的域
许多vi命令的操作对象是一个文本块
替代
s 命令 :address/原模式/新模式/flags 如: :1, $s/my/your/g 将整个文档中的my换
成your 也可以把1,$ 替换为%,flags是gc表示交互式替

命令模式
退出vi编辑器
:wq:保存文件并退出vi :w:保存文件,但不退出vi :q:退出vi :q!:不保存文件,退出vi :x : 保存文件并退出vi 注意:!在vi命令中表示强制执行,可以与w和q命令组
三、命令模式—移动光标
输入模式到命令模式的切换:[Esc]键
移动光标
. ←↓↑→ 光标左下上右移动
. h j k l 光标左下上右移动
.^
光标从当前位置移到本行行首
.$
光标从当前位置移到本行行尾
.+
光标下移一行
.-
光标上移一行
. w,b 光标向右或向左移动一个字(word)
.e
光标移动到字尾
. nG
按[Esc]键退回到命令模式。
说明: .在vi的命令模式下发出的编辑命令通常不需要 按回车键, 但以冒号(:)开始的编辑命令需要回 车键. .返回命令 :wq 可以分开发出.
一、基本操作
vi 编辑程序的主要功能包括: .输入文本 .移动光标 .删除文本 . 替换文本 . 搜索文本 .其它辅助操作 .保存文件, 退出编辑程序
d$:从光标开始,删除到行尾 d0:从光标开始删除到行首 3dw:从光标开始,删除3个字 y$:从光标开始,复制至行尾放到临时缓冲区中
vi编辑器
5.1 vi编辑器概述 5.2 基本vi命令 5.3 vi的复杂应用 5.4 vi缓冲区 5.5 其他vi命令
一、vi缓冲区类型
vi中有多个缓冲区,用于临时存储
abc是已存在的文件
一、基本操作
② 进入文本输入模式
在命令模式下输入i或a 确保大小写锁打开
移动光标
方向键 h(左)、j(下)、k(上)、l(右)四个键
一、基本操作
③ 退出 vi , 返回到shell状态下: 进入vi后程序通常处在vi的命令模式下, 要退出 vi , 可在命令模式下发出 :wq 并按回车键, 即可 保存文件并返回到shell状态下. 若在文本模式下,
功能 删除指定位置的文本,并保存到临时缓冲区中 删除一行内容,光标下移一行 复制指定位置的文本到临时缓冲区 当前行复制到临时缓冲区 将临时缓冲区的文本插入到光标位置之上 将临时缓冲区的文本插入到光标位置之下
例如:
删除/粘贴命令对( dd/p ) :
11111111111 2222222222 3333333333333 444444444444 55555555555
vi编辑器
5.1 vi编辑器概述 5.2 基本vi命令 5.3 vi的复杂应用 5.4 vi缓冲区 5.5 其他vi命令
一、运行shell命令
用户可以在vi的命令行中运行shell命令
使用:!号打头 例
:!date显示当前日期和时间 :!pwd显示当前目录
二接到光标的当前位置之后
光标移动到文件第n行
. 0(零):将光标移动到当前行行首
命令模式--删除文本
命令模式下的删除命令如下:
命令键
x dd
功能 删除光标位置指定的字符 删除光标所在行
D
删除光标所在位置到行尾部分
dw
删除光标所在词(word)的从光标开始到该词结尾的部 分
x、dw、dd命令前都可以加上数字,表示同时删除多个单位。
文本输入模式
命令 模式
二、文本输入模式
用户需要进入vi的文本输入模式,方可输入文本 在命令模式下键入特定命令进入文本输入模式 文本输入模式切换回命令模式:[Esc]键
文本输入模式
命令键 i I a A o O
功能 在光标左侧输入正文 在光标所在行开头输入正文 在光标右侧输入正文 在光标所在行结尾输入正文 在光标所在行下一行插入新行 在光标所在行上一行插入新行
例如:删除5-8行的内容
5G 移动到第5行
3dd 删除3行
命令模式--替换文本
命令模式下,vi的替换文本命令如下表所示
命令键
功能
r cw
u U R .(点)
把当前光标所在字符替换为紧跟在r后面的字符 (只替换 一个字符) 单词替换命令 (把当前光标所在单词中, 从光标所在 字符到该单词结尾部分, 替换为紧跟在cw命令后输入
工作缓冲区 数字编号缓冲区 字母编号缓冲区
二、工作缓冲区
保存用户文件副本 当vi打开一个文件进行编辑时,文件内容被载入到工作
缓冲区 执行vi写入命令之前,所有的修改只是对工作缓冲区的
副本的修改 vi打开多个文件进行编辑时,工作缓冲区存储当前编辑
的文件内容,因而切换文件的时候需要注意修改的丢失 问题 只有执行了写入命令后,缓冲区内容真正写入文件,修 改才永久有效
emacs编辑器
UNIX中最复杂、最具个性化的编辑器
三、vi编辑器的工作模式
vi两种基本的工作模式:命令模式与文本输入模式 . 命令模式 ---- 进入vi 后的初始模式, 也是 vi 的基本工作 模式. 主要包括移动光标, 删除文本, 粘贴 文本和查找文本等. . 文本输入模式 ---- 是命令模式下的子模式. 该模式下除 ESC键以外的所有其它键都作为输入字符 添加到被编辑的文本中. 文本输入完成后 必须按ESC键从文本输入模式返回到命令 模式后, 才能继续完成其它操作.
① 从shell状态进入 vi , 命令格式为: $ vi filename ( 例如: vi abc )
_ ~ ~ ~ ~ ~ ~
“abc”[new file] 0 lines, 0 chars
abc是不存在的新文件
aaaaaaaaaa bbbbbbbbbb cccccccccc dddddddddd ~ ~ ~ “abc” 4 lines, 40 chars
一个文本块可以是一个字符、一个字、一行、一句或 者其他指定的字符集
这类命令格式:cmd = operator+domain
命令键 $ 0(零) e/w b
功能 标识域为从光标位置到当前行尾 标识域为从光标位置到当前行首 标识域为从光标位置到当前字尾 标识域为从光标位置到当前字首
vi操作符的域

的部分, 直到ESC键结束.新输入部分可能与被替 换部分不等长)
撤销最近一条修改文本的命令
撤销对当前行的所有修改
替换从光标位置开始的字符,同时进入文本输入模式
重复最近一条修改命令
命令模式—搜索文本
文本搜索
“/”号 和“?”号 从光标当前位置向后或向前搜索指定内容 键入“/”或“?”,“/”或“?”会在vi最后一行行头显示 在“/”或“?”后面输入要搜索内容,[Return]即可搜索 重复上次搜索,使用n或N命令
每一个文件编辑结束时,不直接退出vi,而是进行 下一个文件的编辑
可以使用命令:n(next)启动下一个文件的编辑 vi将用下一个文件的内容替换缓冲区的内容,所以 如果上一个文件尚未保存,则会提示出错,可以 用:n!强制切换文件,但将丢失上一个文件的修改。
使用:ar命令查看vi打开的文件名列表
文本输入模式
输入模式下的特殊键
[Spacebar]空格键:输入一个空格,光标右移一格 [Tab]制表键:在光标前插入8个空格(空格数可以
配置) [Backspace]退档键:删除光标前面一个字符,并
且光标回退一个字符 [Return]回车键:添加新行,光标移动到下一行行首
如果光标处于行中间,则在光标位置将本行截断
除了数字编号缓冲区外,vi还提供了26个以英文字母 编号的缓冲区
相关主题