1. 编辑模式
在一般模式是不可以修改字符的,如果要修改字符,要进入到编辑模式;
进入编辑模式:
i:在当前字符前插入;
I:在光标所在行的行首插入;
a:在当前字符后插入;
A:在光标所在行的行尾插入;
o:在对当前行的下一行插入新的一行;
O:在当前行的前一行插入新的一行;
2. 命令模式
在一般模式下,输入:或/就可以进入到命令模式。在命令模式可以搜索字符和字符串、也可以实现保存、替换、退出、显示行号等操作;
/word:在光标之后查找一个字符串word,按n向后继续搜索,按N向前继续搜索;
?word:在光标之前查找一个字符串word,按n向前继续搜索,按N向后继续搜索;
:n1,n2s/word1/word2/g:在n1与n2行之间查找word1并替换word2,不加g则只替换每行的第一个word1;
:1,$s/word1/word2/g:将文档所有的word1替换成word2,不加g则只替换每行的第一个word1;
命令模式的其他功能:
:w:保存文本;
:q:退出vim;
:w!:强制保存,root用户可将只读的文本强制保存;
:q!:强制退出,所有改动不生效;
:wq:保存并退出;
:x:对文件做了更改,则与‘:wq’一致;对文件未做更改,只是查看了该文件,则不会更改Mtime;
:set nu:显示行号;
:set nonu:不显示行号。
3. VIM实践
使用命令‘yum install -y dnsmasq’安装‘dnsmasq.conf’这个配置文件,因为这个配置文件,内容较多,复制一份该文件用来练习;
搜索查找文件中出现的dnsmasq字符串;
将第一行到第十行出现的dnsmasq替换为dns(:1,10s/dnsmasq/dns/g);
将文件中所有的etc替换成cte(:1,$s/etc/cte/g);
查看是否成功替换,可搜索etc字符串;
搜索cte字符串;