1、下载安装vim
#yum install vim
2、vim的3种模式:命令模式、输入模式、末行模式
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
输入模式:正常的文本录入。
末行模式:保存或退出文档,以及设置编辑环境。
3种模式的切换:
命令模式:
h或向左方向键:光标向左移动一个字符
l(小写字母l)或向右方向键:光标向右移动一个字符
k或向上方向键:光标向上移动一个字符
j或向下方向键:光标向下移动一个字符
Ctrl+B:文本向前翻一页
Ctrl+F:文本向后翻一页
数字0或Shift+6:光标移动到本行行首
shift+4:光标移动到本行行尾
gg:移动到文本行首
G:移动到文本行尾
nG:移动到第n行
x:向后删除一个字符
X:向前删除一个字符
nx:向后删除n个字符
nX:向前删除n个字符
dd:删除剪切光标所在行
D:删除光标所在处到行尾的内容
ndd:删除剪切光标所在行之后的n行
yy:复制光标所在行
nyy:从光标所在行开始向下复制n行
p:在光标所在行向上黏贴
P:在光标所在行向下黏贴
u:撤销上一步操作
v:移动光标选定指定字符
输入模式:
i:在当前字符前插入
I:在当光标所在行行首插入
a:在当前字符后插入
A:在光标所在行行尾插入
o:在当前行的下一行插入
O:在当前行的上一行插入
末行模式:
/word 在光标之后查找word,按n向后继续查找
? word 在光标之前查找word,按n向前继续查找
:n1,n2s/word1/word2/g 在n1和n2行之间查找word1并替换为word2,不加g则只替换每行第一个匹配到的word1,加g则替换全部匹配到的word1
: %s/word1/word2/g 将文档中的word1并替换为word2,不加g则只替换每行第一个匹配到的word1,加g则替换全部匹配到的word1
:w 保存文本
:w 文件名 另存为指定名字的文件
:wq 保存退出
:q 退出
:w! 强制保存
:q! 强制退出
:set nu 显示行号
:set nonu 不显示行号
ZZ 快捷键保存退出
ZQ 快捷键不保存退出
例1:复制/etc/grub2.cfg到/tmp/目录中,用查找替换命令删除/tmp/grub2.cfg文件中行首的空白字符。
:%s/^[[:space:]]//g
例2:复制/etc/rc.d/init.d/functions文件到/tmp/目录中,用查找替换命令将每行开头为空白字符的行的行首添加一个#号
:%s/^[[:space:]]/#&/g
例3:假设文件内容如下:
#123
# 456
# abc
# 789
#hhhh
要求:删除以#号开头并且#号后面至少有一个空格字符的行。
:g*^#[[:space:]]\+*d