vim命令
编辑模式
- i 在光标处插入
- shfit+i 在行首插入
- a在光标后面插入
- shift+a在在行尾插入
- o在光标行下面一行插入
- shift+o在光标行上面插入
- ESC退出编辑模式
命令模式
- :q 退出
- :wq 保存退出
- :q! 强制退出
- :wq! 强制保存退出
- :set nu 显示行号
- :set nonu 取消行号
- :nohl 可以取消高亮
- /iptables 查找内容;按n向下查找,按N向上查找
- ?iptables 也是查找的意思
- s 替换
- :1,20s/IPTABLES/iptables/g
- s替换;g全局,不加g只有每一行的一个被替换。
练习
-
分别向下,向右,向左,向右移动6个字符; 6j 6l 6h 6l
-
分别向下,向上翻两页; Ctrl+F 和Ctrl+B
-
把光标移动到第49行; 49G
-
把光标移动到行尾,再移动到行首; Shift+4 , Shift+6
-
移动到1.txt文件的最后一行; G
-
移动到文件的首行; gg
-
搜索文件中出现的dnsmasq字符串,并数一下该字符串出现的次数; 输入 /dnsmasq,然后按n
-
把从第一行到第十行出现的dnsmasq替换成dns;
1,10s/dnsmasq/dns/g -
还原上一步操作; u
-
把整个文件中所有的etc替换成cte; 1,$s/etc/cte/g
-
把光标移动到25行,删除字符串ly; 输入25G后回车,然后按j向右移动光标找到ly,按v选中,然后按x
-
还原上一步操作; u
-
删除第50行; 50G dd
-
还原上一步操作; u
-
删除第37行至第42行的所有内容; 37G dd
-
还原上一步操作; u
-
复制第48行的内容并将其粘贴到第52行下面; 48G yy 52G p
-
还原上一步操作; u
-
复制第37行至42行的内容并将其粘贴到第44行上面; 37G 6yy 44G p
-
还原上一步操作; u
-
把第37行至42行的内容移动到第19行下面; 37G 6dd 19G p
-
还原上一步操作; u
-
把光标移动到首行,把第一行的内容改为 #!/bin/bash; 先按gg,把光标定位到第一行,然后按字母A,进入编辑模式,同时将光标移动到行末进行修改,完成后Esc键退出编辑模式 。
-
在第一行下面插入新的一行,并输入 # Hello!; 按o进入编辑模式,同时将光标下移另起一行,输入#Hello !
-
保存文档并退出;
按Esc键退出编辑模式,按Shift+,输入 wq,回车。