vim_thumb

Learning Vimscript The Hard Way — (10) Training Your Fingers/训练你的手指

训练你的手指

在本章,我们将会讨论怎么学 Vim 才更有效率,但我们需要先做一些准备。

让我们再多设置一个映射,比起我们之前创建的许多映射,它可以更大程度地解放我们的左手。运行下面的命令:

:inoremap jk <esc>

现在进入插入模式然后键入 jk。正如你按下了一下 escape 键一样,Vim 把你带回了常规模式。

一般来说,Vim 里面弄有三种默认的方法可以让你离开插入模式:

<esc>
<c-c>
<c-[>

这些命令都会让你的手指感觉到不太舒服。使用 jk 是很棒的,因为就在你最强壮的两个手指下面,你根本不需要去“够(perform a chord)”他们。

有些人喜欢用 jj 而不是 jk,但是我还是喜欢使用 `jk,这有两个理由:

  • 这是两个分开的键,然后你可以用“轮指”(roll your fingers) 而不是双击一个键【会快些的】。
  • 在常规模式里面按 jk 会把光标下移再上移,然后停在开始的地方。而在常规模式里面按 jj则会把你移动到不同的地方【行为没有差异会好一些】。

如果你在一个经常会用到 jk 的语言(例如 Dutch【不会,呵呵】),你可能要找另一个映射【来干这活】。

学习映射

现在你获得了一个新的极好的映射,那你怎么来用它呢?很可能你的肌肉记忆已经习惯了 escape 键,你不假思索就会按它。

有一个小的技巧可以让你强迫自己去用新的映射,那就是让旧的按键失效!运行下面的命令:

:inoremap <esc> <nop>

通过将 escape 键映射到 <nop>(no operation 无操作),可以有效地将 escape 键废掉。现在你就可以用jk` 来退出插入模式了。

开始你会忘记,还是按 escape 然后【以为你已经退出了】尝试在常规模式里面工作,然后你就自然会把一些乱的字符输入到你的文本中。这会让你有点扫兴,但是如果你坚持一下,你会惊奇地发现你的意识和手指竟然如此快速就吸收了这个新的映射!一两个小时之后,你就不会错误地按到 escape 键了。

这个点子对于你创建一个新的映射来替代旧的映射都是很有效的,甚至可以推广到你的生活中。当你想改变一个习惯,就让它【指旧的习惯】更困难或者根本不可能再做到。

如果你想开始做饭而不是再去依赖微波炉去叮电视晚餐【貌似在国外很流行微波炉电视外卖快餐】,那么你去超市的时候就别买了,当你真的饿了,你就会去自己做饭了。

如果你想戒烟,那么你就把你的烟放到你的车尾箱里面去,当你烟瘾犯起来的时候,你就会觉得跑到车外面然后去拿烟是多么的操蛋,久而久之你就会厌倦了。

练习

如果你发现你还是习惯于在常规模式下面用箭头键来移动光标,那么将它们映射到 <nop> 来让你改掉它。

如果你还是在插入模式里面使用箭头键来移动光标,把它们也干掉!正确使用 Vim 的方法是退出插入模式,然后在常规模式下面移动。

【译注:

inoremap <up> <nop>
inoremap <down> <nop>
inoremap <left> <nop>
inoremap <right> <nop>
nnoremap <up> <nop>
nnoremap <down> <nop>
nnoremap <left> <nop>
nnoremap <right> <nop>


【转载请附】愿以此功德,回向 >>

原文链接:https://www.huangwenchao.com.cn/2014/10/vimscript-hard-10.html【Learning Vimscript The Hard Way — (10) Training Your Fingers/训练你的手指】

发表评论

电子邮件地址不会被公开。 必填项已用*标注