四周第三次课(1月4日) 5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践

四周第三次课(1月4日)
5.5 进入编辑模式
5.6 vim命令模式
5.7 vim实践

扩展
vim的特殊用法

http://www.apelearn.com/bbs/thread-9334-1-1.html 

vim常用快捷键总结

http://www.apelearn.com/bbs/thread-407-1-1.html

vim快速删除一段字符

http://www.apelearn.com/bbs/thread-842-1-1.html

vim乱码

http://www.apelearn.com/bbs/thread-6753-1-1.html

小键盘问题

http://www.apelearn.com/bbs/thread-7215-1-1.html

vim加密

http://www.apelearn.com/bbs/thread-7750-1-1.html 

 

进入编辑模式

光标位置的前一位,开始编辑
i

光标位置的后一位,开始编辑
a

光标行,行首,开始编辑
Shift + i (大写I)

光标行,行尾,开始编辑
Shift + a (大写a)

光标行,下面另起一行,开始编辑
o

光标行,上面另起一行,开始编辑
Shift + o (大写o)

 

vim命令模式

搜索关键词:/关键词

向下查找高亮的关键词:n
向上查找高亮的关键词:Shift + n

搜索关键词:?关键词
向下查找高亮的关键词:Shift + n
向上查找高亮的关键词:n

关键词,替换:
范围行替换:

指定范围行内包含的所有关键词,替换成目标字符 :开始行,结束行s/关键词/替换词/g
3到10行内包含的所有关键词root,替换成haoroot :3,10s/root/haoroot/g

(注意:如果没有g,只会替换每行第一个出现的关键词,并不会所有关键词全部替换!)
(特殊情况:如果要替换的关键词中带有/斜杠,分割符斜杠可以用#代替!)
例如 :1,10s#/sbin/nologin#hao#g

 

全文替换:
全文所有行,包含的所有关键词,替换成目标字符 :
:1,$s/关键词/替换词目标字符/g
1到$(最后一行),包含的所有关键词root,替换成haoroot : :1,$s/root/haoroot/g
(注意: 没有g,只会替换每行第一个出现的关键词,并不会所有关键词全部替换!)
(特殊情况: 如果要替换的关键词中带有/斜杠,分割符斜杠可以用#代替!)
例如:1,$s#/sbin/nologin#hao#g


vim常用命令:

保存文本
:w

强制保存,在root用户下,即使文本只读也可以完成保存
:w!

退出vim编辑器
:q

强制退出,所有改动不生效
:q!

保存并退出,如果文本没有任何改动,mtime(修改时间)会更改为当前时间
:wq

保存并退出,如果文本没有任何改动,mtime(修改时间)不会更改为当前时间
:x

强制保存退出
:wq!

显示行号
:set nu

不显示行号
:set nonu

取消高亮的关键词
:nohl


vim实践

练习:
(1) 向下、向上、向左、向右 移动6个字符
操作:下6行: 6j 上6行: 6k 左6字符: 6h 右6字符: 6l

(2) 向下、向上 翻2页
操作:向上翻2页: 按2次 ctrl+f 向下翻2页: 按2下 ctrl+b

(3) 把光标移动到第49行
操作: 49 + Shift+g(大写G)

(4) 把光标移动到行尾,再移动到行首
操作: 行尾: Shift+4 行首: Shift+6

(5) 移动到1.txt文件内容的最后一行
操作:Shift+g(大写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
操作:移到25行: 25G 向右移动光标找到ly: j 标记选中: v 删除标记字符: x

(12) 还原上一步操作
操作: u

(13) 删除第50行
操作: 移到50行: 50G 删除光标所在行: dd

(14) 还原上一步操作
操作: u

(15) 删除第37-42行的所有内容
操作:移到37行: 37G 删除37光标行到42行(共6行): 6dd

(16) 还原上一步操作
操作: u

(17) 复制第48行的内容并粘贴到第52行下面
操作: 移到48行: 48G 复制光标行: yy 移到52行: 52G 粘贴到下面: p

(18)还原上一步操作
操作: u

(19) 复制第37-42行的内容并粘贴到第44行上面
操作:移到37行: 37G 复制37光标行到42行(共6行): 6yy 移到44行: 44G
粘贴到上面: 大写P(Shift+p)

(20) 还原上一步操作
操作: u

(21) 把第37-42行的内容移动(剪切)到第19行下面
操作:移到37行: 37G 剪切37光标行到42行(共6行): 6dd 移到19行: 19G
粘贴到下面: p

(22) 还原上一步操作
操作: u

(23) 把光标移动到首行,把第1行内容改为#!/bin/bash
操作: 移到第一行: gg 从行尾开始编辑: Shift+a 清空光标前字符: Shift+u 添加更改内容: #!/bin/bash

(24) 在第1行下面插入新的一行,并输入# Hello!
操作: 移到第一行: gg 光标行下面另起一行: o 输入: # Hello!

(25) 保存文档并退出
操作: 退出编辑模式: Esc键 一般模式下,保存退出: :wq

 

 

 

 


Connecting to 192.168.183.128:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Thu Jan 4 20:57:13 2018
[root@localhost ~]# vim /tmp/xxx.sh
[root@localhost ~]# cp /etc/dnsmasq.conf /tmp/12.txt
[root@localhost ~]# vim /tmp/12.txt
[root@localhost ~]#

 

转载于:https://www.cnblogs.com/yikebaicai/p/8196408.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值