vi编辑器使用

vi编辑器入门

基本的vi编辑器命令

进入vi编辑器

启动vi
vi <filename>
退出vi
// 使vi处于命令模式
[Esc]
// 保存并退出
:wq
// 退出
:q
// 强行退出
:q!

移动光标键

h或[]     将光标向左移动一格
j或[]     将光标向下移动一格
k或[]     将光标向上移动一格
l或[]     将光标向右移动一格

文本输入模式

i 在光标左侧输入正文
I 在光标所在行的开头输入正文
a 在光标右侧输入正文
A 在光标所在行的结尾输入正文
o 在光标所在行的下一行增添新行,并且光标位于新行的开头
O 在光标所在行的上一行增添新行,并且光标位于新行的开头

命令模式

光标移动键
h或[]     将光标向左移动一格
j或[]     将光标向下移动一格
k或[]     将光标向上移动一格
l或[]     将光标向右移动一格
$          将光标移到当前行的行尾
w          将光标向右移动一个字
e          将光标移动到行尾
0          将光标移动到行首
[return]   将光标移动到下一行的行首
[spacebar] 将光标向右移动一格
[backspace]将光标向左移动一格
文本修改
x   删除光标位置指定的字符
dd  删除光标所在的行
u   撤销最近的修改
U   撤销对当前行所做的所有修改
r   替换光标位置上的一个字符
R   替换从光标位置开始的字符,同时改变vi到文本输入模式
.   重复上一次的修改
退出vi编辑器
wq  保存文件,退出vi编辑器
w   保存文件,但不退出vi编辑器
q   退出vi编辑器
q!  不保存文件,退出vi编辑器
ZZ  保存文件,退出vi编辑器

Linux:vi在线帮助

在命令模式下,输入:help[return]可以显式一个帮助文档

在帮助文档中,输入:q[return]退出帮助文档,回到文件内容

存储缓冲区

vi编辑器为用户所要创建和修改的文件建立一个临时的工作区

vi编辑器高级用法

vi编辑器的启动

启动vi编辑器

在不提供文件名而启动vi编辑器

输入vi和[return],进入文本编辑模式,此时编辑的内容全部在缓冲区中
输入:w <filename>将缓冲区的内容保存在文件<filename>中,不退出vi编辑器
输入:w! <filename>将缓冲区的内容保存在文件<filename>中,并覆盖原文件,不退出vi编辑器
输入:wq <filename>将缓冲区的内容保存在文件<filename>中,并退出vi编辑器

使用vi的启动选项

打开和退出只读文件

vi -r <filename> 
view <filename> 通过只读的方式打开文件
:q 或者 :q! 强制退出只读文件

打开文件并执行命令

vi -c <命令> <filename>

编辑多个文件

vi <file1> <file2> ... 同时打开多个文件列表
:n  立即打开文件列表中的下一个文件
:n! 强制打开文件列表中的下一个文件
ar:查看文件列表

//编辑另一个文件
:e <file>

//读另一个文件
:r <file>

//写入另一个文件
:start_line, end_line w <file>

重排文本

移动行

dd 删除当前行,并且把当前行复制到缓冲区
p  将被删除的行放到当前行下
P  将被删除的行放到当前行上

复制行

yy 将当前行复制到缓冲区
p  将被删除的行放到当前行下
P  将被删除的行放到当前行上

vi操作符的域

命令 = 操作符 + 域

$    标识域为从光标位置开始到当前行尾
0    标识域为从光标位置开始到当前行首
e或w 标识域为从光标位置到当前字尾
b    标识域为从光标位置到当前字首

使用删除操作符和域控制键

d$   删除从当前光标到行尾的文本
d0   删除从当前光标到行首的文本
dw   删除光标后的一个字,光标向后移
3dw  删除光标后的三个字
de   删除光标后的一个字,光标不向后移
db   删除到前一个字的自首

使用复制操作符和域控制键

y$   将光标到行尾的字符赋值,光标位置不变
p    将复制的文本放到光标位置后
P    将复制的文本放到光标位置前

使用修改操作符和与控制键

cw 在当前字尾放置标记,然后转入文本输入模式
输入新的文本
[esc] 将新的文本替换旧文本

在vi中使用缓冲区

vi编辑器中有多个用于临时存储的缓冲区。有两类临时缓冲区:数字编号缓冲区和命名缓冲区

数字编号缓冲区

vi使用数字1~9为9个缓冲区进行编号,数字编号越小的缓冲区保存最新的内容

"9p 表示将编号为9的缓冲区的文本复制到光标区域

字母编号缓冲区

vi使用字母a~z来为26个缓冲区进行命名

这些缓冲区中的内容没有自动替换,而是用户对缓冲区进行操作

光标定位键

[ctrl-d]    光标向下移动,每次移动12行
[ctrl-u]    光标向上移动,每次移动12行
[ctrl-f]    光标向下移动,每次移动24行
[ctrl-b]    光标向上移动,每次移动24行
通过行号定位
1000G 定位到第1000行
G     定位到文件尾

定制vi编辑器

:set all 查看完整参数列表和它们在系统上的设置

选项的格式

布尔值
set X 打开
set noX 关闭
数字
set X=12 将数字选项赋值为12
串选项
set X=PPP	
set命令
:set all 显示所有选项
:set     显示已修改过的项
:set X?  显示当前项的值

设置vi的环境

设置vi编辑器中的环境

行长和行回绕

屏幕终端通常只有80列,可指定vi编辑器在80-wrapmargin前自动换行

缩写与宏

缩写:为文本输入定义缩写

ab <缩写> <原句>
unab <缩写> <原句>

宏:为命令定义缩写

map <缩写> <原命令>
unmap <缩写> <原命令>

.exrc 文件

用户在vi编辑器中设置的参数是临时保存的,永久保存需要在.exrc文件中设置

当vi启动时,首先在当前目录下寻找.exrc文件,如果没有,则检查主目录,如果主目录中没有,则使用默认值

.exrc中的设置与vi编辑器中的命令一样

其他vi命令

运行shell命令

可以在命令模式输入shell命令:vi编辑器将清屏并执行shell命令,按任意键返回vi编辑器

行连接

使用J命令连接两行

搜索和替换

/<搜索字符>

文件恢复选项

vi -r <意外退出的文件>
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值