插入模式只专注于做一件事, 那就是输入文字.
1 插入模式中及时更正错误
如果在插入模式下输入错误时,正常可以用退格键删除错误文本.它会如我们所愿的删除光标前的字符.另外我们还可以使用下面一些组合键:
| 按键操作 | 用途 |
|---|---|
| <C-h> |
删除前一个字符 |
| <C-w> | 删除前一个单词 |
| <C-u> | 删除至行首 |
这些命令不是插入模式所独有的,甚至也不是 Vim 所独有的,在 Vim 的命令行模式中,以及在 bash shell 中,也可以使用它们。
2 返回普通模式
切换回普通模式的经典方式是使用
详情可参见: h i_CTRL-[
图:
| 按键操作 | 用途 |
|---|---|
| <Esc> | 返回普通模式 |
| <C-[> | 删除前一个单词 |
| <C-o> | 切换到插入-普通模式 |
刚开始使用 vim 时可能会觉得不断地切换模式比较烦, 但是使用一段时间后就会慢慢上手了.
2.1 插入 - 普通模式
插入-普通模式是普通模式的一个特例,它能让我们执行一次普遍模式命令。在此模式中,我们可以执行一个普通模式命令,执行完后,马上就又返回到插入模式。要从插入模式切换到插入-普通模式,可以按 <C-o>
参见: i_CTRL-O
例如, 当我们正在窗口的顶行或是底行时, 想看到更多的上下文, 在普通模式我们可以 zz 重绘窗口并把当前行显示在窗口的正中间. 所以我们可以使用命令: <C-o>zz 这样可以不受中断的继续打字.
3 不离开插入模式, 粘贴寄存器中的文本
Vim 的复制和粘贴操作一般都在普通模式中执行,不过有时我们也许想不离开插入模式,就能往文档里粘贴文本。
在插入模式中, 按<C-r>{register}把寄存器中的内容插入到文件中. 其中register是我们想要插入的寄存器的名字. (参见: h i_CTRL-R). 在插入模式中,可以用
1 | 重新映射大小写转换键(Caps Lock) |
4 使用表达式寄存器做运算
表达式寄存器允许我们做一些运算,并把运算结果直接插入到文档中。
大部分的 Vim寄存器中保存的都是文本, 不过表达式寄存器则是个另类, 它可以用来执行一段 Vim 脚本, 并返回其结果.
我们可以用 = 符号指明使用表达式寄存器。在插入模式中,输入 <C-r>= 就可以访问这一寄存器。这条命令会在屏幕的下方显示一个提示符,我们可以在其后输入要执行的表达式。输入表达式后敲一下 <CR>, Vim 就会把执行的结果插入到文档的当前位置了。
示例文本:1
6 chairs, each costing $35, totals $
当光标处于当前行时, 可以输入:1
2A
<C-r>=6*35<CR>
||–>> A 将光标移到行尾并进入插入模式
||–>> 调用表达式寄存器, 并返回6*35的计算结果到光标当前位置.
当然, 表达式寄存器不仅仅可以用来做运算, 还有其他更高级的应用.