前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vim漫游键,为什么不设定左手?介绍一种5x倍速漫游方式

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

作者头像
xjjdog
发布2019-10-15 15:32:34
4830
发布2019-10-15 15:32:34
举报
文章被收录于专栏:架构专题
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。

先给大家讲个故事。

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

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

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

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

Vim的问题

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

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

代码语言:javascript
复制
`h` 左
`l` 右
`j` 下
`k` 上

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

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

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

Linux生产环境上,最常用的一套“vim“技巧 我整理了一份《最有用系列,百页精华》pdf,想要可以加我微信:xjjdog0

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

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

代码语言:javascript
复制
noremap <Up> <NOP>
noremap <Down> <NOP>
noremap <Left> <NOP>
noremap <Right> <NOP>

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

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

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

代码语言:javascript
复制
`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,;等按键,可以快速的,瞬时的定位到相应的位置。

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

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

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

代码语言:javascript
复制
noremap h <NOP>
noremap j <NOP>
noremap k <NOP>
noremap l <NOP>

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

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

End

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小姐姐味道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Vim的问题
  • 为什么vim方向键要受人嘲笑
  • 一种更快的浏览方式
  • End
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档