四周第三次课

/5.5 进入编辑模式
5.6 vim命令模式
5.7 vim实践

5.5 进入编辑模式

在一般模式下,不可以修改某一个字符,如果要修改字符,只能进入编辑模式。从一般模式进入编辑模式,只需按i、I、a、A、o、O、r和R中的某一个键即可。当进入编辑模式时,在屏幕的行尾会显示INSERT或REPLACE的字样(如果支持中文,会显示插入)。从编辑模式回到一般模式,只需按Esc键即可。

202725_LzXP_3744518.png

                       O                         在当前行的上一行插入新的一行
5.6 vim命令模式

在一般模式下,输入:或者/即可进入命令模式。在该模式下,我们可以搜索某个字符或者字符串,也可以实现保存、替换、退出、显示行号等操作。

203749_xZC9_3744518.png

203756_OAim_3744518.png

例如,在一般模式下,/dnsmasq会高亮显示dnsmasq,按n键会向下查找并显示dnsmasq,当查找到最后一个dnsmasq时,会显示“已查找到文件结尾,再从开头继续查找”。也可以按shift+n向上查找并显示dnsmasq,当查找到最上面一个dnsmasq时,会显示“已查找到文件开头,再从结尾继续查找”。

有时候编辑一个文档,里面会有一些有规律的内容,有一个很重要/很实用的命令就是替换了。

例如:

:1,100s/dnsmasq/aminglinux/g

解析:将1-100行中的dnsmasq替换为aminglinux,如果不加g则只替换每行的第一个dnsmasq。

如果要将/etc/hosts替换成aminglinux.com,需要使用脱义字符,如下所示:

:1,$s/\/etc\/hosts/aminglinux.com/g

使用脱义字符会将特殊字符当成普通字符。

上述使用方法太麻烦,可以使用#或者@代替/,就不用加脱义字符了。

:1,100s#/etc/hosts#aminglinux.com#g

:1,100s@/etc/hosts@aminglinux.com@g

/aminglinux会高亮显示,如果不想高亮显示,可以使用:nohl(no high light)不高亮显示。

:x和:wq的区别:

在更改文件之后,它们的效果相同;如果没有更改,只是看了一眼,:wq会更改mtime,尽管没有操作,它会认为你操作了。:x不作任何更改,没有改动就是没有改动。

5.7 vim实践

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”)。

友情链接:阿铭Linux

转载于:https://my.oschina.net/u/3744518/blog/1601365

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值