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

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

先给大家讲个故事。

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

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

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

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

Vim的问题

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

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

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

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

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

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

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

为什么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,欢迎添加好友,进一步交流。

本文分享自微信公众号 - 小姐姐味道(xjjdog)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互扯程序

Java 泛型中的通配符 T,E,K,V,?,你确定都了解吗?

Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。

12140
来自专栏架构专题

小技巧:SpringBoot项目如何让前端开发提高效率?

今天要分享的小技巧,或许能够大幅提高你的开发效率。你可以用省下来的时间打个盹,浏览个美女写真什么的。

9840
来自专栏Java研发军团

工作中常用到的Linux命令

线上出现了问题,登上线上的机器查日志是非常常见的操作了。我第一次登上线上机器查日志的时候,我还只记得以下的几个命令(假设现在我们的日志文件叫做service.l...

8830
来自专栏跟着阿笨一起玩NET

VS2017/VS 2019查看源代码

今天在一本书中偶然看到原来VS2017中是可以查看dll中的源码,具体步骤是:工具>选项>文本编辑器>c#>高级>启用导航到反编译源。

55040
来自专栏python学习教程

python学习:如何让你pycharm用起来更舒服,看起来更美观

世界上最好的 Python 编辑器或 IDE 是什么?炫酷的界面、流畅的体验,我们投 PyCharm 一票,那么你呢?

16130
来自专栏微信公众号【Java技术江湖】

再见,Eclipse

开始我写Java程序,用的并不是eclipse,而是用的一款叫做jbuilder的工具。当时使用这个工具的时候,我已经觉得非常的好用,因为在此之前,我好像记得只...

10240
来自专栏微信公众号【Java技术江湖】

不懂这12个语法糖,别说你会Java!

本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 中的语法糖原理及用法,帮助大家在学会如何使用 Java 语法糖的同时,...

10540
来自专栏微信公众号【Java技术江湖】

Java工程师学习指南(入门篇)

最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写...

8530
来自专栏编舟记

Rust 入门 (Rust Rocks)

做区块链的基本几乎没有人不知道 Rust 这门编程语言,它非常受区块链底层开发人员的青睐。说来也奇怪,Rust 起源于 Mazilla,唯一大规模应用就是 Fi...

12030
来自专栏PHP专享栏

phpEnv一款优雅强大的php集成开发环境

php集成开发环境有很多种,例如phpstudy,wamp,xmapp等等,各有各的优点和缺点,本文并不是对各个 IDE 的使用和调试进行详细的对比和评测,因为...

14550

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励