任务
    vi练习

    1. 请在 /tmp 这个目录下建立一个名为 vitest 的目录;
    2. 进入 vitest 这个目录当中;
    3. 将 /etc/manpath.config 复制到本目录中;
    4. 使用 vi 开启本目录下的 man.config 这个档案;
    5. 在 vi 中设定一下行号;
    6. 移动到第 55 行,向右移动 10 个字符?
    7. 移动到第一行,并且向下搜寻一下『global 』这个字符串,请问在第几行?
    8. 接着下来,我要将 50 到 100 行之间的『小写 man 字符串』改为『大写 MAN 字符串』,并且一个一个挑选是否需要修改,如何下达指令?如果在挑选过程中一直按『y』, 结果会在最后一行出现改变了几个 man 呢?
    9. 修改完之后,突然反悔了,要全部复原,有哪些方法?
    10. 我要复制 65 到 73 这九行的内容(含有MANPATH_MAP),并且贴到最后一行之后;
    11. 21 到 28 行之间的开头为 # 符号的批注数据我不要了,要如何删除?
    12. 将这个档案另存成一个 man.test.config 的檔名;
    13. 去到第 27 行,并且删除 15 个字符,结果出现的第一个单字是什么?
    14. 在第一行新增一行,该行内容输入『I am a student…』;

    答案:

    1. mkdir /tmp/vitest
    2. cd /tmp/vitest
    3. cp /etc/manpath.config .
    4. vi man.config
    5. :set nu然后你会在画面中看到左侧出现数字即为行号。
    6. 先按下55G 再按下10→ ;
    7. 先执行1G或gg后,直接输入/global
    8. 直接下达:50,100s/man/MAN/gc 即可!若一直按『y』最终会出现『在45 行内置换 60 个字符串』的说明。
    9. (1)简单的方法可以一直按『 u 』回复到原始状态,(2)使用不储存离开『 :q! 』之后,再重新读取一次该文件;
    10. 65G 然后再 9yy 之后最后一行会出现『复制九行』之类的说明字样。 按下『 G 』到最后一行,再使用 p 粘贴九行。
    11. 因为 21~28 8 行,因此21G 之后,再使用 8dd 就能删除
    12. :w man.test.config ,你会发现最后一行出现 “man.test.config” [New].. 的字样。
    13. 27G 之后, 15x 即可删除 15 个字符;
    14. 先1G 去到第一行,然后按下大写的O 便新增一行且在插入模式;开始输入“I am a student…“后, 按下[Esc]回到一般模式等待后续工作;
    15. :wq