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 插入文字
相关推荐
水云桐程序员5 小时前
从零开发软件的步骤,软件开发从零到完成应该怎么做?
笔记·学习·软件构建·个人开发
David猪大卫5 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
Android系统攻城狮5 小时前
Linux FFmpeg深度解析之avcodec_align_dimensions调用流程与实战(二十九)
服务器·linux音视频·音视频进阶·ffmpeg音视频
飞飞传输6 小时前
飞驰云联文件交换建设方法论:从单点传输到持续治理
大数据·运维·安全
叼烟扛炮6 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
Ruiery6 小时前
Linux 6.6内核内存管理深度解析(十五):CMA 连续内存分配器
linux·运维·服务器
一条大祥脚7 小时前
TVM 的前世今生:从深度学习编译器到 AI 基础设施
人工智能·深度学习·tvm
测试界的小码农7 小时前
【Linux 命令实战(01):认识 Linux 终端,从零掌握第一个命令】
linux·运维·服务器
布裘8 小时前
【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接
linux·运维·网络
zhikouai9 小时前
把外部助手接进聊天软件的架构分层与参数配置
服务器·网络·php