1. 请在 /tmp 这个目录下建立一个名为 vitest 的目录;

2. 进入 vitest 这个目录当中;

3. 将 /etc/man.config 复制到本目录底下(或由上述的连结下载 man.config 档案);

4. 使用 vi 开启本目录下的 man.config 这个档案;

5. 在 vi 中设定一下行号;

6. 移动到第 58 行,向右移动 40 个字符,请问你看到的双引号内是什么目录?

7. 移动到第一行,并且向下搜寻一下『bzip2 』这个字符串,请问他在第几行?

8. 接着下来,我要将 50 到 100 行之间的『小写 man 字符串』改为『大写 MAN 字符串』,并且 一个一个挑选是否需要修改,如何下达指令?如果在挑选过程中一直按『 y』, 结果会在最后一 行出现改变了几个 man 呢?

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

10.我要复制 65 到 73 这九行的内容(含有 MANPATH_MAP),并且贴到最后一行之后;

11.21 到 42 行之间的开头为 # 符号的批注数据我不要了,要如何删除?

12.将这个档案另存成一个 man.test.config 的檔名;

13.去到第 27 行,并且删除 15 个字符,结果出现的第一个单字是什么?

14.在第一行新增一行,该行内容输入『 I am a student...』;

15.储存后离开吧!

整个步骤可以如下显示:

1. 『 mkdir /tmp/vitest』

2. 『 cd /tmp/vitest』

3. 『 cp /etc/man.config .』

4. 『 vi man.config』

5. 『 :set nu』然后你会在画面中看到左侧出现数字即为行号。

6. 先按下『 58G』再按下『 40→』会看到『 /dir/bin/foo』这个字样在双引号内;

7. 先执行『 1G』或『 gg』后,直接输入『 /bzip2』,则会去到第 118 行才对!

8. 直接下达『:50,100s/man/MAN/gc 』即可!若一直按『 y』最终会出现『在 23 行内置换 25 个字符串』的说明。

9. (1)简单的方法可以一直按『u 』回复到原始状态,(2)使用不储存离开『:q! 』之后,再重新读 取一次该档案;

10.『 65G』 然后再『9yy 』之后最后一行会出现『复制九行』之类的说明字样。 按下『G 』到最 后一行,再给他『p 』贴上九行!

11.因为 21~42 22 行,因此『21G 』→『22dd 』就能删除 22 行,此时你会发现游标所在 21 行的地方变成 MANPATH 开头啰, 批注的 # 符号那几行都被删除了。

12.『:w man.test.config 』,你会发现最后一行出现 "man.test.config" [New].. 的字样。

13.『 27G』 之后,再给他『15x 』即可删除 15 个字符,出现『you 』的字样;

14.先『1G 』去到第一行,然后按下大写的『O 』便新增一行且在插入模式;开始输入『 I am a student...』后, 按下[Esc]回到一般模式等待后续工作;

15.『 :wq』

如果你的结果都可以查的到,那么 vi 的使用上面应该没有太大的问题啦!剩下的问题会是在…打字练 习…。

vim使用案例的更多相关文章

  1. Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)

    Linux运维之道(大量经典案例.问题分析,运维案头书,红帽推荐) 丁明一 编   ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1 ...

  2. Open vSwitch使用案例扩展实验

    参考:Open vSwitch使用案例扩展实验 实验目的: 通过python脚本调用OpenvSwitch命令: 学习Mininet基于python脚本创建拓扑的实现: 进一步深度使用"ov ...

  3. Linux 计划任务 Crontab 笔记与总结(5)crontab 常见错误与案例

    ① 环境变量 cd ~ pwd 就会到你登陆的那个用户的根目录下 ls -a 能够查看到 .bash_profile 这个文件 vim .bash_profile 这里面设置了一些环境变量. 可以设置 ...

  4. VIM常用快捷键~网页上查找

    转自~木枫林 转自~鸟哥的私房菜 第十章.vim 程序编辑器 第十章.vim 程序编辑器 最近更新日期:2009/08/20 2. vi 的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案 ...

  5. Vim Vundle 插件管理器

    /********************************************************************** * Vim Vundle 插件管理器 * 说明: * 话 ...

  6. MySQL 数据库增量数据恢复案例

    MySQL 数据库增量数据恢复案例 一.场景概述 MySQL数据库每日零点自动全备 某天上午10点,小明莫名其妙地drop了一个数据库 我们需要通过全备的数据文件,以及增量的binlog文件进行数据恢 ...

  7. Nginx反向代理+DNS轮询+IIS7.5 千万PV 百万IP 双线 网站架构案例

    原文地址:http://www.jb51.net/article/31844.htm Nginx  ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 ...

  8. apache下配置虚拟主机案例详解

    案例说明:    域名:        www.tianyik.com  /var/html/www        blog.tianyik.com  /var/html/blog        bb ...

  9. vim下编写html的超级利器emmet

    GitHub:里面有详细的文档说明 https://github.com/mattn/emmet-vim 下载地址: http://www.vim.org/scripts/script.php?scr ...

随机推荐

  1. Hessian使用

    ps:以前在项目中用过hessian,但我仅停留在知道这个层面,后面也没有详细了解其中的原理.现在要写简历都不知道怎么写,自己挖的坑,跪着也要填平. Hessian的使用 这里先写下工程中的使用,有个 ...

  2. 走进JVM【二】理解JVM内存区域

    引言 对于C++程序员,内存分配与回收的处理一直是令人头疼的问题.Java由于自身的自动内存管理机制,使得管理内存变得非常轻松,不容易出现内存泄漏,溢出的问题. 不容易不代表不会出现问题,一旦内存泄漏 ...

  3. Codeforces Round #523 (Div. 2) C. Multiplicity

    C. Multiplicity 题目链接:https://codeforc.es/contest/1061/problem/C 题意: 给出一串数,问它的“好序列“有多少.好序列的定义是,首先是一个子 ...

  4. springboot整合freemarker

    前后端分离现在越来越多,如何有效的使用springboot来整合我们的页面是一个很重要的问题. springboot整合freemarker有以下几个步骤,也总结下我所犯的错误: 1.加依赖: 2.配 ...

  5. sort逆序(char String)

    import java.util.Arrays; import java.util.Collections; import java.util.Scanner; public class Main { ...

  6. Cookie浅谈

    相信大家对Cookie多多少少都有点了解吧~~下面我来谈谈吧: 每个Cookie不超过4K数据,每个网站不超过20个Cookie,所有网站的Cookie总和不超过300个 虽然cookie已经是上世纪 ...

  7. 配置GitLab Push 自动触发Jenkins构建

    配置GitLab Push 自动触发Jenkins构建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客是对之前的笔记:https://www.cnblogs.com/yin ...

  8. JAVA记录-Spring两大特性

    1.IOC控制反转 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象 ...

  9. git常用命令及含义

    Git和SVN是我们最常用的版本控制系(Version Control System, VCS),当然,除了这二者之外还有许多其他的VCS,例如早期的CVS等.顾名思义,版本控制系统主要就是控制.协调 ...

  10. JAVA Socket 编程---Socket 和 ServerSocket

    一,Socket Socket的选项 1) TCP_NODELAY:默认值为false.表示采用Negale算法.当设置为true时,表示关闭Socket缓冲,立即发送数据. Socket默认发送数据 ...