vi编辑器
vi编辑器的拓展编辑器vim
vi 【选项】【filename】
vi +n filename #光标停在第n行
vi + filename #光标停在最后一行
vi -r filename #系统瘫痪后哦恢复filename文件
vi +/词 filename #从文件中找出"词"第一次出现的位置,光标停在行
首
存盘并退出
:w <回车> #把编辑缓冲区的内容写到编辑的文件中
:w filename #把编辑缓冲区的内容另存为一个名为filename的内容
:q <回车> #退出,如果没有任何修改可以直接退出
:wq<回车> #存盘退出
:q!<回车> #强行无条件退出,丢弃缓冲内容
vi编辑器的命令模式
按i键,光标前插入
按I键,光标所在行行首,光标前插入
按a键,光标后插入
按A键,光标所在行行尾,光标后插入
按o键,在光标所在行下面插入一行
按O键,在光标所在行下面插入一行
移动光标
移至行首:^ 0
移至行尾:$
移至指定行:【行号】G
移至指定列:【列号】l
文本删除
x 相当于后删,可配合n使用,表示后删n个字符
X相当于前删
dd删除一行
D从光标删到行尾
d0 <回车> #从光标位置删至行首
d5l <回车> #光标位置右边删除5个位置
d3G <回车> #将光标所在行至第三行删除
复原命令
u #撤销
U #恢复本行到编辑前状态
ctrl+r #反撤销
文本移动
>4G #光标行到第四行右移8个位置
<1G #光标行到第1行左移8个位置
5>> #光标行到第五行右移8个位置
<< #左移
检索
/ #光标往后检索 n移动
? #往前检索
/this <回车> #特殊字符检索需要转义
vi编辑器的插入模式=编辑输入模式
底行命令模式
定位从操作
:20<回车>
显示文本区
:m,n p<回车>显示m-n行
删除
:m,n d<回车>删除m-n行
检索
:/
:?
替换模式
:g/字符串1/p
:g/字符串1/s//字符串2
:g/字符串1/s//字符串2/gc #g-gloable c-check
文件恢复
:r!command #将命令结果输入文件中
:recover 恢复缓冲文件
vi -r filename
恢复的是以.swp结尾的缓冲文件
vi中的设置
:set all
:set line
:set number #设置行号
:set nonumber #取消行号
编辑缓冲区
命名缓冲区
”字母名(a-z)加行数 "c4dd剪切 "c4p粘贴
删除缓冲区(1~9)
"25dd #5-光标行以下五行
文本快速移动
:1,3 co. #复制光标到下一行
:1,3 m 7 #剪切到底7行
文本间移动
2,5 w new_filename
编辑多个文件
vi 文件1 文件2
e filename #去另一个文件
e # 回原文件
三种运行模式的转换
vi打开一个文件按处于命令模式
在命令模式下输入i,a,o进入输入模式
在命令模式下按:进入末行模式
输入模式下按Esc退出输入模式进入命令模式
:wq保存退出vi编辑器