想法子记忆Vi/Vim常用操作及指令,而因为其诞生的年代有


本笔记有特殊目录,点击开启:

在Linux系统中编辑文本总是离不开一位老帮手——Vi。而因为其诞生的年代有些久远,有些操作在现在看来可能有点“反直觉”。

于是我决定写这样一篇小笔记,记录一下我记忆Vi的这些这些 常用 操作和指令的方法(主要靠的是英语和图示了)。

当然,正如“好记性不如烂笔头”所言,多实践才是熟练掌握技能的王道。

关于Vi/Vim名词本身

  • Vi代表的可能是Visual Instrument(可视工具)Visual Interface(可视界面)亦或就是Visual(可视化的)单词本身。

  • Vim倒是很明显,代表的是Vi IMproved(Vi改进版)

编辑器模式

Vi而言:

  1. 命令模式 (Command mode) ,刚进入Vi编辑器时的默认模式。在此模式下能输入Vi的合法指令(通常是一些字符)来进行操作。

  2. 插入(输入)模式 (Insert mode) ,顾名思义,是直截了当地编辑文本的模式。

  3. 末行(底线)模式 (Last-line mode) ,也是接受指令的一种模式,更偏向于文件的管理。
    之所以叫 “末行” 是因为指令的输入在窗口最下方:

VimVi的增强版,因此Vim完全可以兼容Vi的操作,不过它的模式名可能略有差别:

  1. 正常模式 (Normal mode) ,是启动Vim后的默认模式。

  2. 插入模式 (Insert mode) ,这个和Vi的一致。

  3. 命令(行)模式 (Command-line mode),类似Vi的末行模式。

  4. 可视模式 (Visual mode) ,和普通模式类似,不同的是可以高光选择文字的一部分进行命令操作

    包括上述几种模式,Vim总共有12种模式(这个说法来自Wikipedia)。但最常用的还是上面这四种,一般情况下够用了。

模式切换

展开阅读

Vi的三种模式而言,要在其间互相切换,需要借默认模式——命令模式作为一个中转(对于Vim来说就是正常模式)。

  • 命令模式

    作为进入Vi的默认模式,我们可以把这儿当作一个小家,
    无论在哪个模式下Esc(可以记成Escape [v.]逃离。逃回家了)都可以回到命令模式。(家是永远的港湾啊)

    再提一嘴,在Vim里这个模式称为正常模式

  • 插入模式

    通过以下按键指令能进入插入模式。这些按键通常是大小写成对的,小写对应的指令略显 “温和”大写对应的就比较 “走极端” 了。

    1. i / I 插入 (记作Insert [v]插入;嵌入;(在文章中)添加

      小写的i,就是在光标所在位置进入插入模式:

      大写的I则有点“极端”,会跳转到当前光标所在行的开头进入插入模式:

    2. a / A 附加 (记作Append [v]增补,追加

      小写的a,就是在光标所在位置之后一位进入插入模式,即所谓的“附加”:

      显而易见,大写的A就会跳转到当前光标所在行的末尾进入插入模式(在尾部附加):

    3. o / O 新增一行 (暂且记作Open new line)

      都是新增行,差别无非是往下新增还是往上新增了。

      小写的o,就是在光标所在行的之后新建一行,然后进入插入模式:

      大写的O呢,就比较蛮横,会把光标所在行及其以下的行整体往下顶,在原位置新建一行(相对来说就是在光标所在行上面新建一行),然后进入插入模式:

    4. s / S 剪切(取代) (可以直接记删的拼音Shan,也可以记成Substitute [v]取代

      小写的s,会剪切光标所在位置右边的字符,然后进入插入模式:

      大写的S就很暴躁了,会剪切光标所在行,然后进入插入模式:

      Substitute的话,可以理解为这个操作是剪切原有字符/行后进行插入,取代原有的字符/行

相关内容