一、说明
1、介绍:vi编辑器是一个用于创建和修改文本文件的交互式的命令行编辑器。
2、模式:vi有三种基本的操作模式: 命令模式 编辑模式、最后行模式。
命令模式:vi的默认模式,在命令模式下,你可以键入命令来删除、更改、移动、定位、搜索等操作。
编辑模式:在编辑模式下,你可以往文件中输入文本。
最后行模式:当处于命令模式下时,通过键入:使你处于屏幕的最后一行,这就称为最后行模式。
3、切换:通过键入输入命令,vi编辑器将离开默认的命令模式,进入编辑模式。
在编辑模式下,键入的所有文本都会被保存到文件中。
完成文本的输入后,按Esc键vi将回到命令模式下。
二、输入
a 在光标右侧输入文本
A 在光标所在行的末尾输入文本
i 在光标左侧输入文本
I 在光标所在行的开头输入文本
o 在光标所在行的下一行开始新行
O 在光标所在行的上一行开始新行
三、定位
h,左箭头,退格键 光标左移一个空格
l,右箭头,空格键 光标右移一个空格
j,下箭头 光标下移一行
k,上箭头 光标上移一行
w 光标右移到下一个字开头
b 光标左移到前一个字开头
e 光标右移到下一个字末尾
$ 光标右移到行结尾
^ 光标左移到行开头
control-f 下翻一屏
control-d 下滚半屏
control-b 上翻一屏
control-u 上滚半屏
control-L 刷新屏幕
四、删除
x 删除光标所在处的一个字符
dw 删除字(或者删除字的一部分,从光标所在处到字结尾)
dd 删除光标所在行
D 删除光标光标所在处之右的行
:5,10d 删除5-10行(最后行模式)
补充 3x 删除3个字符;3dw 删除从光标开始的3个字符;3dd 删除从光标开始的3行
五、回退
u 放弃最近的修改
U 放弃对当前行所作的修改
:u 放弃上一个最后行命令(最后行模式)
六、查找
/string 向下查找字符串string
?string 向上查找字符串string
n 查找字符串string的下一个出现
N 查找字符串string的上一个出现
七、替换
:%s/old/new/g 全局查找和替换
r 替换当前光标所在的字符
s 用字符串替换当前光标中字符
八、复制粘贴
yy 复制一行文本,并将他们放入到临时缓冲区
p 将临时缓冲区中的内容放置到光标后面的位置
P 将临时缓冲区中的内容放置到光标前面的位置
:l ,3 co 5 拷贝1-3行的文本,并把它放置在第5行后面
:4 ,6 m 8 移动4-6行到当前第8行后面
九、保存与退出
:w 保存文件,不退出vi
:w new_file 保存到文件new_file中
:wq 保存修改退出vi
:x 保存修改并退出vi
ZZ 保存修改且退出vi
:q! 不保存修改强制退出vi(!号具有强制含义)
:wq! 保存修改且退出vi
十、定制vi
:set nu 显示行号
:set nonu 隐藏行号
:set ic 设置搜索时忽略大小写
:set noic 搜索时对大小写敏感
:set list 显示不可视字符
:set nolist 不显示不可视字符
:set showmode 显示当前操作模式
:set shownomode 不显示当前操作模式