第四章 基本编辑命令的扩展
启动vi时的选项
前进到指定位置
vi +n file 打开文件到第n行,等同于vi –c n file
vi + file 打开文件到最后一行
vi +/pattern file 打开文件到模式首次出现的位置
vi –c /'you make' 这里的引号是为了适应shell的规定
只读方式 vi –R filename 或 view filename
如果决定要对文件进行编辑,那么可以通过在write命令上添加感叹号来忽略只读方式: :w! :wq!
恢复缓冲区
输入 ex –r 或 vi –r 将得到系统所有已保存的缓冲区列表
vi –r filename 可以恢复filename
利用缓冲区
恢复删除操作
一行以上的删除操作都会保存在总共9格的缓冲区中, "1p 表示粘贴最近一次删除的文字, "2p 表示粘贴倒数第二次删除的文字,如果按.重复上个命令实际上是输出更早一个的已删除文字
复制到命名缓冲区
除了最后9次的缓冲区,还有a-z的命名缓冲区,需要用户自己去保存,使用则是和未命名缓冲区的使用方式相同
"dyy 复制当前行到d缓冲区中
"a7yy 复制包括当前行在内的7行到a缓冲区中
"A2yy 将复制包括当前行在内的2行到a缓冲区 后面
标记自己的位置
m x 用 x ( x 可为任何字符)标记当前位置
' x (单引号)移动到光标到 x 所标记的行的首字符
` x (反引号)移动光标到 x 所标记的字符
`` (两个反引号)返回到移动前的上一标记或上下文的确切位置
'' (两个单引号)返回到上一标记或上下文所在行的位置
回顾vi的缓冲区和标记命令
命令行选项
选项 |
含义 |
+n file |
打开文件到第 n 行 |
+ file |
打开文件到最后一行 |
+/pattern |
打开文件到模式首次出现的地方 |
-c command file |
打开文件后运行命令 ; 通常是行号或搜索 |
-R |
以只读方式打开文件 |
-r |
系统崩溃后恢复文件 |
缓冲区名
缓冲区名 |
缓冲区用途 |
1-9 |
最近 9 次删除操作 , 由最近的到最早的 |
a-z |
需要时使用的命名缓冲区 , 大写字母表示添加到该缓冲区尾 |
缓冲区和标记命令
命令 |
含义 |
"b 命令 |
对缓冲区 b 执行命令 |
mx |
用 x 标记当前位置 |
'x |
移动光标到 x 所标记的行的首字母 |
`x |
移动光标到 x 所标记的字符 |
`` |
返回到上一标记或上下文的确切位置 |
'' |
返回到上一标记或上下文所在行的首字母 |