Vim漫游键为什么不设定左手介绍一种5x倍速漫游方式

68次阅读

共计 2081 个字符,预计需要花费 6 分钟才能阅读完成。

原创:小姐姐味道(微信公众号 ID:xjjdog),欢迎分享,转载请保留出处。

先给大家讲个故事。

老家的一个小孩,习惯用左手吃饭,就连擦屁股,都是用左手拿纸。结果,这个习惯,被他粗心的奶奶发现了,不知出于什么原因,暴躁如虎。

接下来,这位奶奶每天在他身边念叨、念叨 …,甚至 上了刑。前几天回去一瞧,这习惯竟然硬生生给改变了。

老远就能看见,娃娃右手甩的小陀螺,滴溜滴溜直转。我侧了侧身子和孩子保持一个方向,弯腰比划了下手势,确认是右手无疑。

为什么要强迫孩子用右手?因为她自己用的就是右手,基础设施也都是右倾,她就觉得左手不伦不类。

Vim 的问题

vim 对于程序员来说,无疑是最流行的编辑器。不管你是主动还是被动,都会与它有些接触。主流的 Idea、Atom、VSCode 等等等等,都会通过插件提供 vim 的按键绑定。就连 chrome,都提供 Vimium 这样的插件,方便 vim 党进行漫游操作。

最基础的操作,就是对光标的控制。

`h` 左
`l` 右
`j` 下
`k` 上

比较令人纳闷的是,这四个字母,并没有什么缩写的含义,他就是相连的几个键而已。

由于我用这几个键是那么的多,以至于键帽光滑、明亮照人。

可以说自己是一个彻头彻尾的 vim 党。入门推荐看一篇以前写的文章。

Linux 生产环境上,最常用的一套“vim“技巧

为什么 vim 方向键要受人嘲笑

为了不再使用方向键控制光标的移动,强制使用 H、J、K、L,可以在 vim 的配置文件中,把这四个键给禁了。

noremap <Up> <NOP>
noremap <Down> <NOP>
noremap <Left> <NOP>
noremap <Right> <NOP>

这样,你在按下方向键的时候,将什么反应都没有,强制你的手放在 hjkl 上。

不要和信仰挂钩,也不要有什么哲学方面的讨论。这就是一个习惯而已。

为了说明这个问题,我特意画了几根线,把 hjkl 四个键给废了,改成了对应的 sdfg。

`s` 左
`g` 右
`d` 下
`f` 上

要是按照这个模式来,照样玩得转,对于入门者来说不会有什么差别。不过一些观念让你深入为主觉得别扭罢了。我可以左手控制方向,右手控制鼠标,在理论上碾压你一番。不要和我谈离着 i(插入模式)近的缘故,因为我可以把w 改成相应的功能。

这意味着成套的经验转移和定制化,所以 xjjdog 不会这么干。

那么,为什么使用方向键控制 vim 的移动方向,就要遭受嘲笑呢?难道是因为方向键长得小么?应该是这样。因为现在很多键盘的方向键都没了,你换台机器就抓瞎。

一种更快的浏览方式

以下的内容,来自 13 年的一个探讨,并在 Hacknews 上有相应的讨论。下面将变换成第一人称口吻,进行说明。

参考内容:

Habit breaking, habit making (http://1t.click/a8r5)
Vim users: stop using hjkl (vimcasts.org) (http://1t.click/a8r8)

光标一个一个的移动,慢如蜗牛。有没有比较快的速度呢?也是有的。

5 倍速的左右移动

hl 是用来控制光标的左右移动的,每次可以移动一个距离单位。对于左右移动来说,有更快的方式。

与此对应的是 bwege 等。如果平均每个单词的长度是 5,则移动就是 5 倍速度。

单行字符搜索

我们平常用的,可能搜索模式多一些。就是在普通模式下输入 / 进行查找的那种。而对于某一行来说,通过 fFtT,; 等按键,可以快速的,瞬时的定位到相应的位置。

`f` 查找字符 ; f {char}会定位到第一个 {char} 出现的光标位置
`F` 查找字符;与 f 类似,不过是向后查找
`;` 重复上次搜索
`, ` 如果重复上次搜索按多了,则可以通过 `,` 回退

这些操作,相对来说比较冷门。但对于一个已经入门了 vim 的人来说,掌握它会如虎添翼。为了强制训练这些命令,可以先禁掉一些按键,进入困难模式。

欲练此功,必先自宫。看看禁的是什么!

noremap h <NOP>
noremap j <NOP>
noremap k <NOP>
noremap l <NOP>

在某个悠闲的让人心醉的下午,就可以沏上一杯小茶,开启训练。

你可以通过强制使用上面所提到的一些增加漫游速度的按键,让自己的肌肉强制接受这种更加快速的设定。这对于追求更加迅捷的效率的你来说,万分珍贵。

End

本篇文章的主题,其实很明了。除了谈到一种 可能的 让你的 vim 飞的更快的方式,主要说明了一个习惯问题。

习惯问题就是习惯问题,虽然也能找到一些信仰方面的解释,或者一些神乎其神的吹捧,不过这都是自嗨。什么是好的习惯?不过是群体进化中对某件事情的大多数看法,并没有对错。

但总有些偏了的。习惯问题除了与大众接轨,看起来不那么不伦不类,更重要的,是一种主动纠正和进化。虽然痛苦,却受益无穷。

方块字并不是一定要横着写的,但现在你却是在从左到右读着一 行行字

就像是,当所有人都用左手擦屁股,我一定不会用右手。

作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和 Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信 xjjdog0,欢迎添加好友,​进一步交流。​

正文完
 0