vim文本编辑器
vim是vi的升级版
文本编辑分为三个模式
命令模式: 默认 复制 剪切 删除 粘贴 撤销 重做
输入模式: 修改文件内容
末行模式: 保存 退出 查找 替换 功能设置
命令进入到输入模式的方式
a 当前字符后输入
A 当前行行尾输入
i 当前字符签输入
I 当前行行首输入
o 当前行的下一行输入
O 当前行的上一行输入
s 删除当前字符后输入
S 删除当前行后输入
Home键 行首 End键 行尾
命令模式
yy 复制一行 p 粘贴(下一行) P粘贴(上一行)
50yy 复制50行
dd 剪切/删除一行
50dd 剪切/删除50行
^ 行首
$ 行尾
y^ 复制当前字符到行首
y$ 复制当前字符到行尾
d^ 剪切/删除当前字符到行首
d$ 剪切/删除当前字符到行尾
定位行:
gg 首行
G 尾行
30G 定位到30行
ygg 复制当前行到首行
yG 复制当前行到尾行
dgg 剪切/删除当前行到首行
dG 剪切/删除当前行到尾行
u 撤销一步操作
ctrl+r 重做
末行模式
按“shift”键和“:”键进入
保存和退出
:w
:q
:wq
:w!
:q!
:wq!
:x 保存退出
:e 打开文件
:w /tmp/new.txt 另存
:2,3w /tmp/new2.txt
:e! 重新打开当前文件
:X 加密
输入密码:
再次输入密码:
:wq
:X 取消加密
查找
/ab n 下一个 N上一个
?ab N 下一个 n 上一个
:s/ab/XX/ 替换当前匹配到的第一个字符
:s/ab/XX/g 替换当前行所有的匹配字符
:%s/ab/XX/g 替换所有行所有的匹配字符
s 替换 g 全局 %所有行
:%s/ab/XX/gc 交互式替换 c 交互式
:2,5s/ab/XX/g 第2行到第5行
:%s/^ *// 删除每行开头的所有空格
:%s/ //g 删除每行所有的空格
:/^$/d 删除空行
:g/^\s*$/d 删除所有的空白行
:%s/[0-9]//g 删除所有的数字
:%s/\t//g 删除文件中所有的制表符
其他功能设置
显示行号
:set nu
:set nonu
显示空白符类型
:set list
:set nolist
忽略大小写
:set ignorecase
:set noignorecase
设置指标符号长度
:set tabstop=4
自动缩进
:set autoindent
:set noautoindent
vim的配置文件: /etc/vimrc
[root@localhost ~]# vim /etc/vimrc
set nu
各用户的子配置文件(设置自己的配置)
[root@robin ~]# vim ~/.vimrc
可视化模式 v
通过键盘选择操作行
d 表示剪切/删除 y复制 p粘贴
可视化块模式: ctrl+v
通过键盘选择操作列和行
d 表示剪切/删除 y复制 p粘贴
ctrl+v ----> 选中添加字符的列----> shitf键+i----->输入字符---->ESC 2次
多文件操作
[root@localhost ~]# vim aa.txt cc.txt tt.txt
:next 下一个
:prev 上一个
:first 第一个
:last 最后一个
:file 查看文件的信息
ctrl+^
同屏编辑多个文件
[root@localhost ~]# vimdiff aa.txt cc.txt tt.txt
ctrl+w+w 切换文件
:wqa 保存退出所有文件
[root@localhost ~]# vim -O aa.txt cc.txt tt.txt 无颜色横排序
[root@localhost ~]# vim -o aa.txt cc.txt tt.txt 无颜色竖排序