程序员的键盘使用指南

工欲善其事,必先利其器. 键盘便是其中的重要的一环,高效的使用键盘可以带来优雅高效的日常使用及编码,甚至能够保护好你的手指.

于是我便收集了一些较为通用并且不错的键盘使用实践,其中大部分都是参考一些键盘的历史设计,程序员的编码实践,以及一些键盘的使用标准,如键盘使用标准指法等.

经过这一年的使用,发现很多实践确实会让编码更加的优雅高效,遂分享出来.下面的文章较为简短,只有几条程序员间较为通用的做法,并给出了这么做的理由.

一些我个人的键盘使用习惯就不阐述了~

尊重你的操作系统

如果你使用了mac相关的电脑并外接了非苹果键盘,需要注意一下 command键和option的位置. 更为标准且习惯的方式应该是 alt设置为command键,win设置为option键.

设置的方式也很简单,点击键盘 -> 修饰键 进行设置即可.

实际上,我认为mac os的设计相比于windows/linux 在这点上更加合理

抛弃Caps键

caps既大小写锁定键,相信很多人已经很少去按这个键了,如果你还对它恋恋不舍,那么你需要练习使用shift键来进行大小写的转换.

推荐一个练习打字的网站 https://www.typingclub.com

如果整个单词需要大写的话,我通常会先键入小写,然后使用ide的大小写转换功能对整个单词进行转换(适用于常量的键入), 对于vim只要gUaw即可将整个单词切换为大写,对于jetbrains系列ide,选中单词后按住command + shift + u 即可进行大小写的转换

在window/linux上 command 即 ctrl键

使用两侧的Shift键

考虑到你可能不会点开上面的打字网站,我着重介绍一下shift键. 稍微注意一下你就会发现 shift键的使用频率非常的高, 尤其是php程序员满屏的$,如果你还使用shift切换大小写,那么你的左手小指的负担其实已经非常大了

正确的做法是

键入A时, 标准指法的使用应该是右手小指按住shift + 左手小指按住字母A.

键入$时, 应该是右手小指按住shift + 左手食指按住数字4

键入(时, 应该是左手小指按住shift + 右手无名指按住数字9

这里的基本原则是,如果你需要同时按住两个按键时,尽量让这两个按键分摊到你的两只手上

但是如 ctrl + c ctrl + d 这样的按键,还是无法分摊到两只手上进行操作

映射Ctrl键

当不在使用caps键键入大写字母时,就空出了一个非常宝贵的按键, 因为caps对应的这个键位对小拇指实在是太友好了.

接下来要做的就是把日常生活中程序员非常非常常用但却非常难于敲击的键ctrl键映射到caps键.这一步对于非常依赖ctrl的windows/linux用户尤为重要. 当然对于mac用户也非常重要,即使在command键已经代替了ctrl的大部分操作的情况下.

crtl + [ 是我日常使用最为频繁的按键

对于mac用户这很容易操作,你可以参考上面那张图片中的按键映射, 对于windows/linux用户,你需要下载专业的按键映射软件

映射Esc键

esc也是较为常用的一个按键,尤其是用在一些弹出层的关闭. vim中退出insert/visual模式也需要esc键.但是esc实在是太太太遥远了.

这里有两个映射方案

对于非vim用户,可以选择将键盘左下角空出来的Ctrl按键映射成Esc. 如果你的键盘按键足够高,可以选择使用掌心来敲击该按键. 对于我来说,这种映射使用最多的情况是退出视频的全屏模式

vim用户请千万不要使用上述的方式退出insert/visual模式

对于vim模式,推荐使用ctrl + [ 代替Esc键,在vim编辑器中,这是默认映射.当然我也喜欢自己在系统层面做这样一个映射,让我在任何地方都能够使用ctrl + [来退出一些奇奇怪怪的弹出层,比如Alfred

下面是我常用的一些映射

上面的键盘映射软件是 Karabiner for mac,由于我的键盘的特殊性,所以做了一些特别的映射,下面有介绍我使用的键盘

抛弃↑↓←→

上下左右这几个键依旧非常的遥远,会让我们的手指离开主键位区. 这里有两种方法来避免使用它们,让你更有style的来工作与日常

emacs的解决方式(通用解决方式).

ctrl + b = ←

ctrl + f = →

ctrl + n = ↓

ctrl + p = ↑

说上面的为通用解决方案是因为上面的指法只要是在有文本键入的地方都适用的,包含iterm2,浏览器,ide中等等.基本上属于操作系统级的指法

更多的类似指法还有

ctrl + a 回到行首

ctrl + e 去到行尾

ctrl + w 回删一个单词

ctrl + m 回车

vim的解决方式,这个就不多叙述了,适用群体和软件比较特殊,不过我还是推荐 phpstorm + vim插件 / vscode + vim插件的开发方式,在简单的层面使用vim也会带来很多的便利

抛弃数字小键盘

使用主键位区的数字键

选用一把合适的键盘

即使ctrl在一个这么顺手的位置,但是对于程序员来说左手小指的压力还是非常大的,尤其是左侧shift和ctrl的使用,我便是由于小拇指疼痛,便购入了一把樱桃红轴的机械键盘,其对小拇指的减负有着不错的作用

下面这款是我编码使用的键盘

算是比较便宜精致的樱桃轴键盘了,基本上没有多余的键位

我没有体验过静电容的键盘, 但是预算充足的情况下, hhkb的那款感觉很酷,值得尝试

tip: 如果你要购入和我一样的键盘,请一定要看准樱桃红轴,这款键盘还有其他品牌的轴体

尝试学习vim

理由网上很多我就不赘述了, 但是写两行代码就要动一下鼠标或者手指离开主键盘区,感觉自己就像是个瘸子一样,很不酷.?

补充

推荐使用右手拇指来敲击空格,从而充分利用该手指. 当然更加推荐的做法是双手拇指轮流敲击空格(我还做不到). 程序员对空格的需求还是蛮大的

不要总是展开ide左侧的tree文件导航,实际上大部分时间你都用不到它,记住展开与关闭的快捷键,编码时把它关闭(jetbrains系列ide的快捷键是command + 1)

编码时推荐使用serach Everywhere + 缓冲区(jetbrains系列ide中 command + e) + 函数列表(jetbrains系列ide中 command + f12)来进行跳转与控制

实际上一把HHKB键盘包含上述80%的操作,毕竟是专门为程序员打造的键盘.但是并不是每个人都舍得购入一把HHKB,所以上面的一些操作方法,使你依旧能够在普通键盘上使用

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 15
幽弥狂

生活过的真精致

5年前 评论

一句话,怎么舒服怎么来

5年前 评论

hhkb 用着挺舒服的 键盘这玩意 作为程序员来说 都成机械记忆了 敲就行了

5年前 评论

@PhoenixIcy hhkb的ctrl键是不是很舒服,所以我才推荐把ctrl映射到和hhkb一样的位置, 实际上这是emacs程序员必备的一步操作

5年前 评论

用Markdown的时候,觉得```反引号很不好敲,我就把两个反引号映射为ff,代码块要用到的的六个反引号映射为fff,这样就快点了。

5年前 评论

说了这么多就差一个茶轴的 Cherry了。

5年前 评论

@EDISONYANG 对于程序员或者长时间的键盘使用者来说,红轴或者静电容会对手指更加的友善

5年前 评论

键入 ( 时, 应该是左手小指按住shift + 左手食指按住数字9

这是写错了吗?感觉好累 :smile:

5年前 评论

@大毛 感谢指正,已修改

5年前 评论
panda-sir

@Max :yum: 不BB 大F

5年前 评论

@panda-sir 这篇文章的核心不是怎么挑机械键盘😂

5年前 评论
panda-sir

@Max :smirk_cat: 猜猜我是谁

5年前 评论

@panda-sir 我说科达怎么那么耳熟😂

5年前 评论
panda-sir

@Max 哈哈 :yum: 大佬带我

5年前 评论

我的macbook por刚买半年,command键已经掉漆并且有时失灵了 :sob:不知道是不是摁的次数太多了

4年前 评论
sayhe110 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!