三种基本模式
命令模式:复制 黏贴 剪切 删除
输入模式:输入或者修改字符
末行模式:保存 退出 另存 查找 替换
[root@localhost ~]# vim aa.txt
命令模式进入输入模式
a:当前字符后输入
A:当前行行尾输入
i:当前字符前输入
I:当前行行首输入
o:当前行的下一行输入
O:当前行的上一行输入
s:删除当前字符后输入
S:删除当前行后输入
home 行首
end行尾
命令模式:
yy 复制当前行
p黏贴到当前行的下一行
P当前行的上一行
dd 删除/剪切
^行首
$行尾
y^复制当前字符到行首(不包括当前字符)
y$复制当前字符到行尾(包括当前字符)
d^删除或剪切当前字符到行首
d$删除或剪切当前字符到行尾
gg首行
G尾行
nG定位到n行
ygg复制当前行到首行
yG复制当前行到尾行
dgg 删除/剪切当前行到首行
dG 删除/剪切当前行到尾行
u撤销一步操作
ctrl+r重做
末行模式
:w :w! :wq :wq!
:q :q!
:x保存退出
:w /tmp/xx.txt 另存
:2,5w /tmp/xx.txt另存2-5行
:e /root/aa.txt 打开某个文件
:e!重新打开当前文件
:r /tmp/xx.txt 追加打开一个文件
加密
:X
查找和替换
查找
/ab n下一个 N上一个
?ab n上一个 N上一个
替换
:%s/ab/XY/g(%所有行 ,s 交换,g 全局)
%s/XY/ab/gc (c 交互式)
:2,5s/ab/xy/g 换2-5行
:$s/ab/XX/g 换最后一行
:%s/ //g 替换文件中所有的空格
:nd 删除第n行
:g/abc/d 删除所有含abc的行
:g/^$/d 删除所有的空行
:g/^\s*$/d 删除所有的空行
功能设置
行号
:set nu
:set nonu
自动缩进
:set autoindent
:set noautoindent
制表符(控制空格数)
:set tabstop=4
忽略大小字母
:set ignorecase
显示空白类型
:set list
:set nolist
查看配置文件
vim/etc/vimrc