=======
到现在为止,我们已经学了不少关于映射的知识了,我们现在来讨论一下该怎么使用它们。映射功能可以大大提高我们进行文本编辑的效率,所以多花点时间来讨论一下是很值得的。
一个我们已经在前面的例子里介绍的概念是多字符映射,下面我们来看看这个功能。
运行下面的命令:
:nnoremap jk dd
现在先进入normal模式,然后快速输入jk,vim将会删除当前行。
现在只输入j,并暂停一小会。如果你不是在输入j后立马输入k的话,vim就认为你不想使用映射,所以就只运行了j的基本功能(往下移动一行)。
不过这个映射会让我们在文本里移动的时候显得比较麻烦,所以要用下面的命令删除它:
:nunmap jk
现在你再次输入jk时会上下移动光标。
=======
现在我们已经讨论了很多不同的映射了,是时候让我们一起看看一些比较复杂的映射了。运行下面的命令:
:nnoremap <leader>" viw<esc>a"<esc>hbi"<esc>lel
这个映射比较复杂!首先,让我们先试试它。进入normal模式,把光标放在文本里的一个单词上,然后输入leader键和引号。Vim会在这个单词的两边加上引号!
这个是怎么起作用的呢?让我们把上面的命令拆开来分析一下:
viw<esc>"a<esc>hbi"<esc>lel
注意:因为我们用的是nnoremap而不是nmap,所以不管我们使用了什么字符来进行映射,vim都会使用该字符的最基本的功能。
现在你应该看到了vim映射的潜在的强大了吧,不过你也应该知道它的可读性是多么的差。
=======