linux-basic(10)vim程序编辑器

【10.1】vi 与 vim
【10.2】vi的使用
1)3种模式:
模式1:一般模式, vim打开就是这种模式,编辑模式下 按 esc 回到一般模式;
模式2:编辑模式,要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。
模式3:命令行模式, 输入『 : / ? 』三个中的任何一个按钮 进入命令行模式;

【10.2.2】按键说明
1)第一部份:一般模式可用的按钮说明,光标移动、复制贴上、搜寻取代等
linux-basic(10)vim程序编辑器
(1)
linux-basic(10)vim程序编辑器
(2)
linux-basic(10)vim程序编辑器
(3)
linux-basic(10)vim程序编辑器
(4)
2)第二部份:一般模式切换到编辑模式的可用的按钮说明
linux-basic(10)vim程序编辑器
(5)
3)第三部份:一般模式切换到指令列模式的可用的按钮说明
linux-basic(10)vim程序编辑器
(6)
【注意】:在 vi 中,『数字』是很有意义的!数字通常代表重复做几次的意思! 也有可能是代表去到第几个什么什么的意思。举例来说,要删除 50 行,则是用 『50dd』 对吧! 数字加在动作之前~那我要向下移动 20 行呢?那就是『20j』或者是『20↓』即可。

【10.3】vim的功能
【10.3.1】块选择 visual block
1)怎样进行块选择?
linux-basic(10)vim程序编辑器
(7)
2)当我们按下 v 或者 V 或者 [Ctrl]+v 时, 这个时候光标移动过的地方就会开始反白,这三个按键的意义分别是:
linux-basic(10)vim程序编辑器
(8)
【10.3.2】多文件编辑
1)我们可以使用 vim 后面同时接好几个档案来同时开启喔:如下表所示:
linux-basic(10)vim程序编辑器
(9)
【荔枝】vim编辑多个文件
linux-basic(10)vim程序编辑器
(10)
linux-basic(10)vim程序编辑器
(11)
【10.3.3】多窗口功能
1)如何分割窗口并放入档案呢? 
很简单啊!在指令列模式输入『:sp {filename}』即可!那个 filename 可有可无, 如果想要在新窗口启动另一个档案,就加入档名,否则仅输入 :sp 时, 出现的则是同一个档案在两个窗口间!
2) 分割窗口的相关指令功能有很多,如下:
linux-basic(10)vim程序编辑器
(12)
linux-basic(10)vim程序编辑器
(13)
【10.3.4】vim环境设置与记录: ~/.vimrc, ~/.viminfo
1)这是因为我们的 vim 会主动的将你曾经做过的行为登录下来,好让你下次可以轻松的作业啊! 那个记录动作的档案就是: ~/.viminfo !
2)vim 环境设置参数,如下:
linux-basic(10)vim程序编辑器
(14)
不建议修改 /etc/vimrc 这个文件;

【10.3.5】vim常用命令
linux-basic(10)vim程序编辑器
(15)
【10.5】重点回顾
  ● Linux 底下的配置文件多为文本文件,故使用 vim 即可进行设定编辑;
  ● vim 可视为程序编辑器,可用以编辑 shell script, 配置文件等,避免打错字;
  ● vi 为所有 unix like 的操作系统都会存在的编辑器,且执行速度快速;
  ● vi 有三种模式,一般模式可变换到编辑与指令列模式,但编辑模式与指令列模式不能互换;
  ● 常用的按键有i, [Esc], :wq 等;
  ● vi 的画面大略可分为两部份,(1)上半部的本文与(2)最后一行的状态+指令列模式;
  ● 数字是有意义的,用来说明重复进行几次动作的意思,如 5yy 为复制 5 行之意;
  ● 光标的移动中,大写的 G 经常使用,尤其是 1G, G 移动到文章的头/尾功能!
  ● vi 的取代功能也很棒! :n1,n2s/old/new/g 要特别注意学习起来;
  ● 小数点『 . 』为重复进行前一次动作,也是经常使用的按键功能!
  ● 进入编辑模式几乎只要记住: i, o, R 三个按钮即可!尤其是新增一行的 o 与取代的 R
  ● vim 会主动的建立 swap 暂存档,所以不要随意断线!
  ● 如果在文章内有对齐的区块,可以使用 [ctrl]-v 进行复制/贴上/删除的行为
  ● 使用 :sp 功能可以分割窗口
  ● vim 的环境设定可以写入在 ~/.vimrc 档案中;
  ● 可以使用 iconv 进行档案语系编码的转换

  ● 使用 dos2unix 及 unix2dos 可以变更档案每一行的行尾断行字符。