感谢无数朋友的质疑和建议,我发现“以80%键盘为基础,通过重映射键位,培养使用习惯,向60%键盘过渡”是个比较好的路子。我在Ubuntu20.04中,通过修改xkb配置进行了如下调整:
sudo vi /usr/share/X11/xkb/symbols/pc # 主配置, 重启生效
key <CAPS> { [ Mode_switch ] };
key <RCTL> { [ Caps_Lock ] };
sudo vi /usr/share/X11/xkb/symbols/us # 子配置, 删rules/*.xml生效
key <AD01> { [ q, Q ], [ Insert ] };
key <AD02> { [ w, W ], [ Home ] };
key <AD03> { [ e, E ], [ Prior ] };
key <AD10> { [ p, P ], [ Print ] };
key <AC01> { [ a, A ], [ Delete ] };
key <AC02> { [ s, S ], [ End ] };
key <AC03> { [ d, D ], [ Next ] };
key <AC06> { [ h, H ], [ Left ] };
key <AC07> { [ j, J ], [ Down ] };
key <AC08> { [ k, K ], [ Up ] };
key <AC09> { [ l, L ], [ Right ] };
以下是原文。
我是一个用VIM的C程序员,日常使用Ubuntu,经常连CentOS服务器,很少做界面。敲了这么多年代码,去年我忽然发现身边不少同事都开始用机械键盘。
有点儿返祖啊,我当年那台中华学习机就是这样的机械键盘(暴露年龄)。历史是螺旋前进的,经过一番调研,我认为:(台式机为了降成本,笔记本为了更轻薄)商家全面推广薄膜键盘,其实是牺牲了我等重度键盘用户的手感。我要尝试机械键盘!
在某宝某东货比三家,在我乎读了不少软文,我关注了键数、键帽、轴型、做工这几个因素。
键数我选87键的。10n键肯定不考虑,右边那个数字键盘只有财务才会经常用到。程序员如果要做大量运算,肯定考虑自动化啊!再说数字小键盘放在右侧,不仅使键盘右侧更加臃肿,对右手书写的财务也很不友好,早就看它不顺眼了。40%的键盘太激进,有点自己折磨自己,不考虑。
60%的键盘其实可圈可点:它左右匀称,刚好是两手自然覆盖的范围,半张A4纸的形状便携性较好。但是它有少量常用键缺失,不得不组合实现。Esc和`~键共用:VIM离不开Esc,好在它是缺省含义;但是CLI也经常用~回home啊,这就得Fn Shift组合;Shell中也会用到`,需要用Shift配合。←↓↑→与右下角4键共用:方向键在CLI中挺有用的,总是用Fn配合比较费劲。Del需要Fn实现,这个可以接受,毕竟手机和PAD都只有BackSpace,现在的小孩都不咋用Del了。
键帽我选侧刻的。正刻键帽有点反人类。作为不完全盲打者,我是45°看键盘的,侧刻既满足寻键需求又不会影响手感(早期印上的字还会被磨掉)。如果说正刻有什么优点,那就是方便生产吧!
轴型我选樱桃茶轴。感觉世界上只有两种键轴:樱桃轴和其他轴(有朋友质疑。嗯,希望国产好轴从产品到宣传都做大,让新人少走弯路)。樱桃专利都过期好几年了,怎么就没有厂家愿意为高端市场打磨一款好轴呢?黑轴适合打游戏,红轴适合女士,青轴太吵,茶轴比较万能:既有键感又不会太影响同事。我当然选茶轴了。
做工,在键盘到手之前是不得而知的,只能参考价格和口碑。樱桃轴、蓝牙多模、个性键帽都会增加成本,如果整体做工还考究就会比较贵了。口碑这东西比较虚,软文各有立场,适当参考吧!
综合考虑,我的梦中键盘是这样的:87键,樱桃茶轴、黑(cai)色se)侧(geng)刻(hao)、有线WiFi蓝牙多模、无效果灯、做工精细。基本上就是除了花哨功能啥都要最好的。这样的键盘,不考虑价格因素也很难找到,只好选了个差不多的。
以上是我的心路历程,无意为任何品牌打广告。有一些吐槽,若有谬误之处欢迎指正。
最后再补一个:键盘厂家似乎主要攻游戏市场,很少有针对程序员市场的,你们不知道程序员人傻钱多吗?做一款完美的VIM键盘很难吗?某电容键盘号称专为程序员设计,把Ctrl键移走了,你们不知道程序员用“小拇指根”按左下角的Ctrl吗?作为VIM用户,我用<C-w>、<C-f>多一些,小拇指根体验还不错。至于Emacs,我就是按<C-x>之类的快捷键费劲才弃用它的。有朋友建议用<CapsLock>代替<Ctrl>,是个办法!