码迷,mamicode.com
首页 > 其他好文 > 详细

6.21 5.5-5.7

时间:2018-06-21 23:39:59      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:bsp   位置   5.6   6.2   set   操作   down   执行   nbsp   

5.5 进入编辑模式

 

小写i

在当前光标所在位置进入编辑模式

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:999:997:User for polkitd:/:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

-- 插入 --   

 

大写i

在光标所在行行首进入编辑模式

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:999:997:User for polkitd:/:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

-- 插入 --  

 

小写o

从光标所在行后面另起一行进入编辑模式

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

 

nobody:x:99:99:Nobody:/:/sbin/nologin

systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:999:997:User for polkitd:/:/sbin/nologin

-- 插入 --  

 

大写o

从光标所在行上面另起一行进入编辑模式

 

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:999:997:User for polkitd:/:/sbin/nologin

-- 插入 --      

 

小写a

光标向后移动一位并进入编辑模式,向当前位置后面插入内容   

 

大写a

移动到当前行的行末并进入编辑模式

 

进入编辑模式后,一般模式下的所有快捷键均无法使用 

 

5.6 vim命令模式   

 

搜索字符(串):输入:进入命令模式,再输/跟要查找的内容回车即可

 

使用/查找

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:999:997:User for polkitd:/:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

已查找到文件结尾,再从开头继续查找

所有匹配搜索条件的字符(串)会高亮显示;

n光标会向下逐一移动到对应的字符(串)上;

shift+n会向上逐一移动到对应字符(串)上;

 

使用?查找

hyc:x:1000:1000::/home/hyc:/bin/bash

hyc1:x:1001:1001::/home/hyc1:/bin/bash

hyc2:x:1006:1001::/home/hyc2:/bin/bash

hyc3:x:1007:1005::/home/hyc111:/sbin/nologin

hyc4:x:1008:1008::/home/hyc4:/bin/bash

hyc5:x:1014:1001::/home/abc:/sbin/nologin

hyc6:x:1015:1015::/home/hyc6:/bin/bash

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

?hyc    

n会逐一向上匹配字符(串);

shift+n会逐一向下匹配字符(串);  

 

替换字符(串)

99 boot1:x:1001:1001::/home/boot1:/bin/bash

100 boot2:x:1006:1001::/home/boot2:/bin/bash

101 hyc3:x:1007:1005::/home/hyc111:/sbin/nologin

102 hyc4:x:1008:1008::/home/hyc4:/bin/bash

103 hyc5:x:1014:1001::/home/abc:/sbin/nologin

104 hyc6:x:1015:1015::/home/hyc6:/bin/bash

105 root:x:0:0:root:/root:/bin/bash

106 bin:x:1:1:bin:/bin:/sbin/nologin

107 daemon:x:2:2:daemon:/sbin:/sbin/nologin

108 adm:x:3:4:adm:/var/adm:/sbin/nologin

:1,100s/hyc/boot/g :替换文档中1100行中的所有字符串hycboot

g:不加g则仅替换第一次遇见的条件匹配的字符(串),后面匹配条件的字符(串)将不被替换

s:表示替换

1,100:1100

 

命令行模式下按上下方向键可以调出之前用过的命令

 

当要被替换的字符(串)里也包含/时:

:1,$s//home/hyc/uuu/g uuu替换/home/hyc

这种情况下系统将第一个/后的内容识别为空,第二个/后识别为home,一般第三个/后应为g或不应再有字符,但此时第三个/后出现其他字符,系统无法识别,此时产生报错信息多余的尾部字符

解决办法:

1 脱义

:1,$s/\/home\/hyc/uuu/g

在上面写法中home左侧和hyc左侧的/会被识别为命令行命令的一部分而不是普通字符,此处使用脱义符\将两个/字符识别为纯字符命令即可正常执行

2 更换命令使用的符号

:1,$s#uuu#/home/hyc#g

将命令使用的/#代替;

/可以用#@代替;

 

保存、退出

:q 退出

:w 保存

:wq 保存并退出

:x 保存退出

:w! 强制保存

:q! 强制退出

 

:x:wq的区别:

当用户打开文件后未做任何操作时,可以用这两个命令保存退出;

当执行时,:x不会修改文件的mtime,因为未做任何操作;

执行:wq时,不管是否修改文件内容,文件的mtime都会改变;

 

其他

:set nonu 不显示行号

:set nu 显示行号

:nohl 取消高亮显示

 

5.7 vim实践

 

1 分别向下、右、左、上移动6个字符

向下:6+j

向右:6+l

向左:6+h

向上:6+k

 

2 分别向上和下翻两页

向上:ctrl+b

向下:ctrl+f

 

3 移动光标到第49

行号 shift+g

 

4 把光标移动到行尾,再移动到行首

行尾:shift+$

行首:shift+^

 

5 移动到文件的最后一行

shift+g

 

6 移动到文件的首行

gg

 

7 搜索文件中出现的字符(串),并数出该字符串出现的次数

搜索root

从文件末尾开始:?root;使用n指出有多少root

从文件开头开始:/root;使用n指出有多少root

 

8 把从第一行到第十行出现的root替换为fff

:1,10s/root/fff/g

 

9 还原上一步操作

u

 

10 把整个文件中的所有fff替换成root

:1,$s/fff/root/g

 

11 把光标移动到第25行,删除字符串hyc

25 shift+g

移动光标到相应位置;

使用v选中字符串按x删除

直接使用x删除

 

12 还原上一步操作

u

 

13 删除第50

50 shift+g

dd

 

14 还原上一步操作

u

 

15 删除第3742行的所有内容

37 shift+g

5dd

 

16 还原上一步操作

u

 

17 复制第48行的内容并粘贴到第52行下面

48 shift+g

yy

52 shift+g

P

 

18 还原上一步操作

u

 

19 复制第37-42行的内容并粘贴到44行上面

37 shift+g

6yy

44 shift+g

shift+p

 

20 还原上一步操作

u

 

21 37-42行的内容移动到19行下面

37 shift+g

6dd

19 shift+g

P

 

22 还原上一步操作

u(此时需要按两次u

 

23 把光标移动至首行,把第一行内容修改为“#!/bin/bash”

gg

按字母A进入编辑模式

编辑完成后按esc键退出编辑

 

24 在第一行下面插入新的一行,并输入”hello!”

gg

输入o进入编辑模式

输入hello

esc键退出编辑

 

25 保存文档并退出

:wq

 


6.21 5.5-5.7

标签:bsp   位置   5.6   6.2   set   操作   down   执行   nbsp   

原文地址:http://blog.51cto.com/12216458/2131528

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!