Linux中关于vim相关操作的练习题,实操训练,配有相应的答案提示

3月25日vim相关操作

题目1:

1)将/etc/hosts网络配置文件复制到/tmp/mydir下;

2)使用vim编辑器打开hosts文件,按i进入编辑模式,将本机IP地址和主机名(client1)映射。

3)按下esc键回到命令模式,再按下:wq进入末行模式,保存并退出

4)先将/etc/profile复制到/tmp/mydir,并重命名为myprofile,然后使用vim编辑器打开复制到/tmp/mydir的myprofile文件;

5)使用:set nu调出行号;

6)查找profile中包含path字样的内容;

7)跳转到53行,使用yy复制当前行;

8)移动光标到文件的最后一行;

9)使用p在光标的下一行粘贴;

10)使用dd删除光标所在行;

11)编辑完后按下esc,使用:wq进行保存并退出(不保存仅退出使用:q!)

代码操作如下:

shell 复制代码
cp -a /etc/hosts /tmp/mydir
cd /tmp
ll
vi mydir
cp /etc/profile ./myprofile # 应为我已经在mydir文件中,此时就用.表示当前位置,/myprofile则是把复制过来的文件重命名
ll
vi myprofile
grep 'path' myprofile # 在myprofile文件中查找path字样
vi myprofile
set nu # 标注了文本行号
:53 # 光标跳转到指定的53行内容上
gg # 光标跳转到第一行
GG # 光标跳转到第二行
yy # 复制光标所在的行
p # 复制粘贴的内容
dd # 删除光标所在的内容

问题2:

1)在/tmp目录下建立一个名为mytest的目录,进入mytest目录当中。

2)将/etc/man_db.conf复制到上述目录下面,使用vim打开目录下的man_db.conf文件

3)在vim中设定行号,移动到第58行,向右移动15个字符,请问你看到的该行前面15个字母组合是什么?

4)移动到第一行,并且向下查找"gzip"字符串,请问它在第几行?

5)将50~100行的man字符串改为大写MAN字符串,并且逐个询问是否需要修改,如何操作?如果在筛选过程中一直按"y"键,结果会在最后一行出现改变了多少个man的说明,请回答一共替换了多少个man。

6)修改完之后,突然反悔了,要全部复原,有哪些方法?

7)需要复制65~73这9行的内容,并且粘贴到最后一行之后。

8)删除23~28行的开头为#符号的批注数据,如何操作?

9)将这个文件另存成一个man.test.config的文件。

10)到第27行,并且删除8个字符,结果出现的第一个单词是什么?在第一行新增一行,该行内容输入"I am a student...";然后存盘后离开。

操作代码如下 :

shell 复制代码
cp -a /etc/hosts /tmp/mydir
cd /tmp
ll
vi mydir
cp /etc/profile ./myprofile
ll
vi myprofile
grep 'path' myprofile
vi myprofile
history
vi myprofile
clear
cd /tmp
mkdir mytest
cd mytest
cp /etc/man_db.conf .
vi man_db.conf
cd .
cp man_db.conf man.test.config
ll
vi man.test.config
15l # 是把光标向右移动15个字符
15>> # 是把内容向右移动15个字符
:/gzip # 在文本内查找gizp字样
:50,100 s/man/MAN/g # 是查找替换50~100的man改为MAN ,如果不要最后的g,则要一个一个输入y来确定替换
u # 相当于撤回上一步的操作,如果你在文件里按Ctrl+z则是退出文件
:65
9yy # 复制9行的内容
GG # 跳转到最后一行
p # 复制
:23,28 g/#/d # 删除23到28行中#号这个字符
:w man.test.config # 把文件另存为man.test.config的文件
:27d8l # 27 是跳转到27行,d是删除,8l是光标后8个字符
gg # 光标定位到第一行
按i 插入文字
相关推荐
IT小哥哥呀2 小时前
Nginx高可用配置实战:负载均衡 + 健康检查 + 动态扩展
运维·nginx·负载均衡·devops·日志分析·openresty·动态扩展
刘某的Cloud2 小时前
ceph osd down排查
linux·运维·ceph·系统·osd
Theodore_10223 小时前
深度学习(9)导数与计算图
人工智能·深度学习·机器学习·矩阵·线性回归
py有趣5 小时前
LeetCode算法学习之两数之和 II - 输入有序数组
学习·算法·leetcode
喜欢你,还有大家6 小时前
Docker-仓库-镜像制作
运维·docker·容器
BreezeJuvenile6 小时前
外设模块学习(15)——MQ-2烟雾气体传感器(STM32)
stm32·单片机·学习·mq-2·烟雾气体传感器
安审若无7 小时前
图数据库neoj4安装部署使用
linux·运维·数据库
做运维的阿瑞7 小时前
CentOS DNS故障排查完整解决方案:从症状到根因的系统化诊断
linux·运维·centos
XH1.8 小时前
学习RT-thread(RT-thread定时器)
stm32·单片机·学习
QT 小鲜肉8 小时前
【个人成长笔记】在 Linux 系统下撰写老化测试脚本以实现自动压测效果(亲测有效)
linux·开发语言·笔记·单片机·压力测试