0326 第七次课:vim

VIM工具

一、vim介绍

  • vim与vi的区别

    vim是vi的升级版,vim与vi最大的区别是vim带有颜色显示。

    使用vim需要安装:yum -y install yum

  • vim三种模式

    一般模式、编辑模式、命令模式

模式说明
一般模式如dd行删除、复制粘贴就是一般模式
编辑模式按‘i’‘a’等,进行操作就是编辑模式
命令模式如'/' 查找替换,:wq这些都是命令模式

二、vim一般模式操作

  • vim颜色显示

    vim颜色会根据文件的目录、文件类型等来判定进行显示颜色。如/etc/passwd移到/tmp目录下不会显示颜色,再改成.sh类型就又会显示颜色。

  • vim配置文件

    /etc/vimrc是vim的配置文件,控制vim的用法。这个作为了解即可。

  • vim一般模式下的光标移动常用按键

    光标移动键:

操作按键
向右l
向左h
向下j
向上k
同上操作方向键也可以实现↑←↓→

加数字可以指定移动的行数,如:5+l就可以往右移动5位

其它操作:

按键说明
Ctrl+f向前翻页
Ctrl+b向后翻页
数字'0'或者Shift+6移动到行首
Shift+4移动到行末
gg快速移动到首行
G快速移动到末行
nGn为数字,快速移动到n行。
  • 一般模式下复制粘贴:
按键说明
dd(按两下)删除/剪贴光标所在的行
ndd删除/剪贴光标所在行之后的n行。n为数字
x/Xx删除光标后一个字符,X删除光标前一个字符
nx向后删除n个字符。n为数字
yy复制光标所在行
p从光标所在行,向下粘贴
P从光标所在行,向上粘贴
u还原上一步,可以多此还原,最后50次。
Ctrl+r反还原上一步,和windows的Ctrl+z类似
v按下v后可以进行自由选择,可实现自由复制、删除等操作。

三、编辑模式操作

编辑模式就是进入可编辑文档的模式。

  • 进入编辑模式的几种方式
按键说明
i在光标的前一位进行编辑
I(大写i)在光标行行首进行编辑
a光标的后一位进行编写
A光标行行尾进行编辑
o光标行下一行进行编辑
O光标行上一行进行编辑

四、命令模式

  • 搜索

    向下搜索:/word 搜索到的内容会高亮显示

    向下查找:n

    向上查找:shift + n

    向下搜索:?word 搜索到的内容会高亮显示

    向下查找:shift +n

    向上查找:n

  • 替换

    用法:开始行,结束行s/关键词/替换词/g

    示例:替换1-10包含root的内容,替换为xxx

    :1,10s/root/xxx/g

    如果没g则只会替换每一行的第一次出现的关键字,后面的并不会替换。

    结果:

    示例2:不指定行进行全文替换

    :1,$s/test/xxx/g

    全文替换把结束行换成$即可。

    示例3:含有特殊符号的替换

    比如想要替换的内容中含有"/"。

    一种方法是使用脱意符号,还有一种更加简单的方法:

    把替/换成别的符号即可:1,$s#/etc#ooo#g

  • vim命令模式常用的命令

按键说明
:w保存
:wq保存退出
:w!强制保存
:q退出
:q!强制退出,所有的改动不会生效
:setnu 显示行号
:setnonu 不显示行号
: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”)。

八、直播课

转载于:https://my.oschina.net/u/3755326/blog/3028100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值