三种模式:命令模式、插入模式、命令行模式
1、插入命令
一进入vim就是命令模式,切换到插入模式可以使用i、I、a、A、o、O等任何键,回到插入模式用esc键,进入命令行模式按: 回到插入模式用esc键
i 在当前位置进入insert模式,6i表示输入6次
I 在当前位置的行开头进入insert模式
a 在当前位置的下一个字符进入insert模式
A 在当前位置的行末尾进入insert模式
o 在当前位置的下面新开一行进入insert模式
O 在当前位置的上面新开一行进入insert模式
S 删除当前行进入insert模式
2、移动命令
0 到行的开头
$ 移动到行的末尾
G 到文件的末尾,2G或者:2到文件的第二行
ctl +G显示文件总共有多少行,当前行所在的位置
w 每次移动一个单词
dd 删除一行,3dd删除3行
3、删除、复制、替换、撤销、重做、查找命令
dw 删除一个单词,5dw删除5个单词
yy 复制一行,3yy复制3行
p 粘贴复制的内容
x 删除一个字符,4x删除4个字符
r 替换一个字符
R 一直替换一直到esc退出为止
u (undo) 撤销修改
crl+r (redo) 重做
/ 或者? 查找,n下一个(与man操作相同)
4、 命令行模式(按:进入)下的相关操作
set nu 显示行号
set nonu 不显示行号
w aaa 把当前文件另外为名为aaa的文件
w >> aaa 把当前文件的内容追加到已经存在的aaa文件中
1,6 w >> aaa 把当前文件的第一行到第6行追加到aaa文件中
w! 强制写入
e! 恢复文件到修改之前的最初状态
r /etc/group 读入group文件的内容到当前文件中
r !ls 把某个命令(如ls)执行的结果读入到当前文件中
s 替换
1,$ s/nlog/bash/g 表示替换当前文件的第一行到末尾行的所有nlog字符为bash字符,并且不询问;g的含义是代表不做询问,直接替换;
1,$ s/nlog/bash/c,表示替换的过程中要询问是否替换;
5、Vim可以多窗口运行,当同时vi两个文件时,按ctl +w+向下箭头,表示切换到第二个vim窗口
6、配置Vim初始化文件
Vi ~/.vimrc
例如在这个文件中输入Set nu,每次启动vim默认显示行号