9.6 本章练习

(要看答案请将鼠标移动到“答:”下面的空白处,按下左键圈选空白处即可察看) 实作题部分:

  • 在第七章的情境仿真题二的第五点,编写 /etc/fstab 时,当时使用 nano 这个指令, 请尝试使用 vim 去编辑 /etc/fstab ,并且将第七章新增的那一列的 defatuls 改成 default ,会出现什么状态? 离开前请务必要修订成原本正确的信息。此外,如果将该列注解 (最前面加 #),你会发现字体颜色也有变化喔!

  • 尝试在你的系统中,你惯常使用的那个帐号的主文件夹下,将本章介绍的 vimrc 内容进行一些常用设置,包括:

    • 设置搜寻高亮度反白
    • 设置语法检验启动
    • 设置默认启动行号显示
    • 设置有两行状态列 (一行状态+一行命令行) :set laststatus=2

简答题部分:

  • 我用 vi 打开某个文件后,要在第 34 列向右移动 15 个字符,应该在一般指令模式中下达什么指令?(1)先按下 34G 到第 34 列;(2)再按下 [ 15 + 向右键 ],或 [ 15l ] 亦可!
  • 在 vi 打开的文件中,如何去到该文件的页首或页尾?去页首按下 1G 或 gg ;去页尾按下 G 即可
  • 在 vi 打开的文件中,如何在光标所在列中,移动到行头及行尾?移动到行头,按 0 ,移动到行尾按 $ 即可!
  • vi 的一般指令模式情况下,按下“ r ”有什么功能?取代光标所在的那个字符
  • 在 vi 的环境中,如何将目前正在编辑的文件另存新文件名为 newfilename?:w newfilename
  • 在 linux 下面最常使用的文书编辑器为 vi ,请问如何进入编辑模式?在一般指令模式下面输入: i, I, a, A 为在本列当中输入新字符;(出现 –Insert- )在一般指令模式当中输入: o, O 为在一个新的一列输入新字符;在一般指令模式当中输入: r, R 为取代字符!(左下角出现 –Replace-)
  • 在 vi 软件中,如何由编辑模式跳回一般指令模式?可以按下[Esc]
  • 在 vi 环境中,若上下左右键无法使用时,请问如何在一般指令模式移动光标?[h, j, k, l]分别代表[左、下、上、右]
  • 在 vi 的一般指令模式中,如何删除一列、n列;如何删除一个字符?分别为 dd, ndd, x 或 X (dG 及 d1G 分别表示删除到页首及页尾)
  • 在 vi 的一般指令模式中,如何复制一列、n列并加以贴上?分别为 yy, nyy, p 或 P
  • 在 vi 的一般指令模式中如何搜寻 string 这个字串??string (往前搜寻)/string (往后搜寻)
  • 在 vi 的一般指令模式中,如何取代 word1 成为 word2,而若需要使用者确认机制,又该如何?:1,$s/word1/word2/g 或:1,$s/word1/word2/gc (需要使用者确认)
  • 在 vi 目前的编辑文件中,在一般指令模式下,如何读取一个文件 filename 进来目前这个文件?:r filename
  • 在 vi 的一般指令模式中,如何存盘、离开、存盘后离开、强制存盘后离开?:w; :q: :wq; :wq!
  • 在 vi 下面作了很多的编辑动作之后,却想还原成原来的文件内容,应该怎么进行?直接按下 :e! 即可恢复成文件的原始状态!
  • 我在 vi 这个程序当中,不想离开 vi ,但是想执行 ls /home 这个指令,vi 有什么额外的功能可以达到这个目的:事实上,可以使用[ :! ls /home ]不过,如果你学过后面的章节之后,你会发现,执行[ ctrl + z ]亦可暂时退出 vi 让你在命令行界面当中执行指令喔!

原文: https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/84.html