5.4 进入编辑模式
5.5 vim命令模式
5.7 vim实践
一、编辑模式
编辑模式就是进入可编辑文档的模式。
- 进入编辑模式的几种方式
i:在光标的前一位进行编辑
I(大写i):在光标行行首进行编辑
a:光标的后一位进行编写
A:光标行行尾进行编辑
o:光标行下一行进行编辑
O:光标行上一行进行编辑
二、命令模式
- 搜素
向下搜索:/word 搜索到的内容会高亮显示
向下查找:n
向上查找:shift + n
向下搜索:?word 搜索到的内容会高亮显示
向下查找:shift +n
向上查找:n
- 替换
用法:开始行,结束行s/关键词/替换词/g
示例:替换1-50包含wxy的内容,替换为xxx
:1,30s/wxy/xxx/g
如果没g则只会替换每一行的第一次出现的关键字,后面的并不会替换。
示例2:不指定行进行全文替换
1,$s/wxy/xxx/g
全文替换把结束行换成$即可。
示例3:含有特殊符号的替换,比如想要替换的内容中含有"/"。一种方法是使用脱意符号,还有一种更加简单的方法:
1,$s#/etc#ooo#g
- vim命令模式常用的命令
:w 保存
:wq 保存退出
:w! 强制保存
:q 退出
:q!强制退出,所有的改动不会生效
:set nu 显示行号
:set nonu 不显示行号
:nohl 取消高亮显示
:x 保存并退出,如果文本没有任何改动,不会更改mtime
三、vim实践
# cp /etc/dnsmasq.conf /tmp/1.txt
(1) 分别向下、向右、向左、向上移动6个字符(6j 6l 6h 6k)。
(2) 分别向下、向上翻两页(分别按两次ctrl+f和ctrl+b)。
(3) 把光标移动到第49行(49G)。
(4) 把光标移动到行尾,再移动到行首(Shift+4, Shift+6)。
(5) 移动到1.txt文件的最后一行(G)。
(6) 移动到文件的首行(gg)。
(7) 搜索文件中出现的“dnsmasq”,并数一下该字符串出现的次数(/dnsmsq 然后按n)。
(8) 把从第1行到第10行出现的dnsmasq替换成dns(:1,10s/dnsmasq/dns/g)。
(9) 还原上一步操作(u)。
(10) 把整个文件中所有的etc替换成cte(:1,$s/etc/cte/g)。
(11) 把光标移动到第25行,删除字符串 “ly”(25G 然后按l向右移动光标找到"ly",按v选中,然后按x)。
(12) 还原上一步操作(u)。
(13) 删除第50行(50G dd)。
(14) 还原上一步操作(u)。
(15) 删除第37-42行的所有内容(37G 6dd)。
(16) 还原上一步操作(u)。
(17) 复制第48行的内容并粘贴到第52行下面(48G yy 52G p)。
(18) 还原上一步操作(u)。
(19) 复制第37-42行的内容并粘贴到第44行上面(37G 6yy 44G P)
(20) 还原上一步操作(按u)。
(21) 把第37-42行的内容移动到第19行下面(37G 6dd 19G p)。
(22) 还原上一步操作(按u)。
(23) 把光标移动到首行,把第1行内容改为“#!/bin/bash”(先按gg,把光标定位到第1行,然后按字母A,进入编辑模式,同时>光标到行末尾,进行修改操作,完成后按ESC)。
(24) 在第1行下面插入新的一行,并输入“# Hello!”(按o进入编辑模式,同时光标向下另起一行,输入“# Hello!”)。
(25) 保存文档并退出(按Esc键,输入“:wq”)。