vi/vim编辑器
只能编辑文本文件,不能编辑二进制文件
vim /文件名
文件不存在的话则在内存中打开,不保存的话从内存中删除
命令模式,插入模式,末行模式
命令模式>插入模式
i a o 进入插入模式,
I A O 进入插入模式,
i 当前光标插入,编辑, 按U键撤销
a当前光标后一个字符插入
o下一行产生一个空白行并进入插入模式
I 光标到所在行开头并进入插入模式
A光标到所在行结尾并进入插入模式
O上一行产生一个空白行并进入插入模式
命令模式>末行模式
输入 /关键字 查询关键字
输入 /关键字\c 查询关键字,忽略大小写
n查找下一个
N查找上一个
:保存 另存为 读取其他文件 执行命令 保存退出 设置参数 定位行 替换
:w 保存
:w /opt/passwd1 另存为
:r /etc/hosts 读取其他文件
:.!ls/boot 读取命令执行结果,会覆盖光标所在那一行内容
(按两下!等于.!)
:wq 保存退出
:x 保存退出
:q 退出
:q! 不保存退出
:set nu 显示行号,(不属于文件内容)
:set nonu 取消行号
设置每次打开都有行号:
在当前用户家目录创建vimrc,
只对当前用户生效
vim .vimrc
:set nu
:wq
对所有用户生效
vim/etc/vimrc
在set nocmpatible 上添加一行:
set nu
:wq
:15 定位到第15行
?/old/new old替换为new
?/old/new/g 光标所在行所有的old替换为new
:3,12s/old/new/g 第三行到第12行所有的old替换为new
. 当前行
$ 最后一行
$-1为倒数第二行
:1,$s/old/new/g 第一行到最后一行所有old替换为new(全文的替换)
:%s/old/new/g 第一行到最后一行所有old替换为new(全文的替换)
/ 转义符转义为 /
:%s#/old/#new#g 第一行到最后一行所有/old/替换为new(全文的替换)
#也可以作为分隔符
:%s’/old/'new’g 第一行到最后一行所有/old/替换为new(全文的替换)
单引号’也可以作为分隔符
命令模式
yy 复制当前行
p 粘贴到光标下一行
4yy 从当前行开始复制下面4行
4dd 从当前行开始剪切下面4行,(不粘贴时会在剪切板里)
x 删除光标所在字符
4x 删除光标往后4个字符
r或R 替换
r5 替换光标所在字符为5
R5 一直替换模式,esc退出
u 撤销
ctrl+r 前进
定位行
32G 切换到第32行
G 切换到最后一行
gg 切换到第一行
ZZ 保存退出
shift+zz 保存退出
分屏 (末行模式)
:sp 分上下屏
ctrl+ww 切换到下一屏
打开文件后会在家目录产生一个 .文件名 的隐藏文件
视图
ctrl+v 小键盘调整选区
按y复制
按t粘贴
按x删除
快速注释多行:
按I进入插入模式并到开头
输入#
按esc
vimtutor 自带vim教程