vim进入编辑模式

按键 作用
i 在当前(光标所在位置)字符前插入
I(大写i) 在光标所在的行首插入
a 在当前字符后插入
A 在光标所在的行尾插入
o 在当前行的下一行插入新的一行
O 在当前行的上一行插入新的一行

vim命令模式

按键 作用
/word 在光标之后查找一个字符串word,按n向后搜索下一个
?word 在光标之前查找一个字符串word,按n向前搜索下一个
:n1,n2s/word1/word2/g(n=任意数字) 在n1和n2行质检查找word1并替换为word2,不加g责只替换每行的第一个word1
:1,$s/word1/word2/g 将文档中所有的word1替换为word2,不加g责只替换每行的第一个word1
按键 作用
:w 保存文本
:q 退出vim
:w! 强制保存文本,在root用户下,即使文本只读也可以完成保存
:q! 强制退出,所有的改动不会生效
:wq 保存并退出
:set nu 显示行号
:set nonu 不显示行号
:nohl 取消高亮
:x 跟wq的用法一样,只是q会改动mtime,而x不会改动

vim实践

为了更高效的记住vim的操作使用,经常使用才会记得牢,我们可以自行模拟以下操作环境,然后开始操作,以下我们可以尝试阿铭老师为我们设计的步骤来实践,首先先将dnsmasq.conf复制到**/mnt下,并且重命名为shijian.txt**

[root@Ask-02 ~]# cp /etc/dnsmasq.conf /mnt/shijian.txt [root@Ask-02 ~]# vim /mnt/shijian.txt

vim实践操作
分别向下、向右、向左、向上移动6个字符(6j;6l;6h;6k)
分别向下、向上翻两页(分别按两次Ctrl+F和Ctrl+B)
把光标移动到第49行(49G)
把光标移动到行尾,再移动到行首(Shift+4;Shift+6)
移动到本文件的最后一行(G)
移动到本文件的首行(gg)
搜索文件中出现的dnsmasq字符串,并数一下该字符串出现的次数(输入/dnsmasq,然后按n继续下一个)
把从第1行到第10行出现的dnsmasq替换成dns(:1,10s/dnsmasq/dns/g)
还原上一步操作(u)
把整个文件中所有的etc替换成cte(:1,$s/etc/cte/g)
把光标移动到第25行,删除字符串ly(输入25G后回车,然后按l(小写L)向右移动光标到ly位置然后按v再按l选中ly两个字符,最后按x)
还原上一步操作(u)
删除第50行(50G;dd)
还原上一步操作(u)
删除第37行至第42行的所有内容(37G;6dd)
还原上一步操作(u)
复制第48行的所有内容将其粘贴到第52行下面(48G;yy;52G;p(小写))
还原上一步操作(按两下u)
复制第37行至第42行的内容并将其粘贴到44行上面(37G;6yy;44G P(大写))
还原上一步操作(按两下u)
把第37行至第42行的内容并将其移动到19行下面(37G;6dd;19G p(小写))
还原上一步操作(按两下u)
把光标移动到首行,把第1行内容改为#!/bin/bash(先按gg把光标定位到第1行,然后按字母A,进入编辑模式,同时将光标移动到行末尾进行修改,完成操作后按Esc键)
在第1行下面插入新的一行,并输入#hello!(按o进入编辑模式,同时将光标下移另起一行,输入#hello!)
保存并退出(按Esc键,输入:wq或者是:x)