首页 > 代码库 > 2年后,还是放弃了programmer dvorak

2年后,还是放弃了programmer dvorak

写下此文纪念我长达两年的dvorak(以及programmer dvorak,下面都统称dvorak)的使用历程,也给想转换到dvorak的童鞋一些参考经验。

具体的开始时间记不清了,应该是大二的某个时候。那时正是喜欢折腾的时候,折腾过一众linux发行版,ubuntu,xubuntu,fedora,opensuse,还有傻傻装个puppy,做启动U盘到图书馆用那硬盘只有16G的瘦客户机,体验着残缺不全的系统,还不能上网,当时还觉的特自豪。

就是那时听说了dvorak, 这感觉就像高二的时候初识fedora的感觉,觉得这世界除了XP之外,怎么会有另一个系统;这世界除了qwerty之外,怎么会有另一种键盘布局。然后就疯狂的学习,使用,抠键盘。那时候没有想过装B什么的,但每当别人想用我电脑然后不会用时,心里会有种喜滋滋的感觉。看,你们还在用着落后的qwerty,每天得浪费多少时间,手指得多累啊。

后来又听说了programmer dvorak,然后又在这条路上前进了一步。这时,已经不能抠键盘了,就去X宝淘键盘贴纸,把符号和数字小心翼翼的剪开,然后贴上去。原来的双拼不能用了(候选词要用数字键选,而programmer dvorak默认上屏的是符号),又搜到rime,这个输入法真的很强大,但我只用它做了一件事,敲{的时候上屏第5个候选词,敲}上屏第3个,其余类推。这时候,虽然觉得麻烦,还是觉得,这些基础的东西会陪伴一生,值得折腾。

这期间,体会了dvorak的优点,输入英文的时候真的很顺手,因为dvorak本来就是为英文输入优化的。在敲代码的时候感受很深,最简单的int,都在中排,手指都几乎不用移动。而qwerty下你试试就知道多难敲了。我做过java关键字的在两种布局下的输入难易对比。占了大半都是dvorak敲得顺,然后也有些even(两者差不多),而只有3个是qwerty下敲得更顺的:finally, for, if。这很大原因是因为dvorak下f被放在了反人类的y(qwerty下)位置。

qwertyevendvorak


abstract


boolean


break


byte


case


catch

char

class


const


continue


default

do

double

else


enum


extends

final
finally


float
for

if



implements


import


instanceof


int


interface

long


native

new

package


private


protected

public

return


short


static

super


switch


synchronized


this

throw


transient


try

void

volatile

while



不得不说,这很好,因为敲代码占了我使用电脑的一大半时间。但是,除此之外,就真的没什么优点了。相反,遇到了重重阻力,列举如下。

  1. 适应,习惯英文输入的过程其实没有那么痛苦,因为敲代码时真的会顺手。大概两个星期就适应了。中文的输入倒是更麻烦,搜索过后,知道没有为dvorak优化的中文输入法。于是,我就继续使用原来的双拼,开始是使用qwerty的双拼,但是中文使用qwerty,英文使用dvorak太难适应,所以改成了全局使用dvorak,又是重新适应一翻。真佩服我当时是怎么在dvorak上适应一个为qwerty设计的输入法,所以也造成了很多佶屈聱牙的敲法。比如,‘在’,需要右手小拇指先敲1栏再敲3栏。‘们’,同样也是右手食指先敲1栏再敲3栏。候选词左右换页倒是方便,使用,(逗号)和。(句号)。很方便,值得一题。
  2. 中国银行网银不好用,网银的安全机制强制使用qwerty布局,适应了一阵。
  3. 和童鞋和老师不好交流,windows下无解。windows必须替换kbdus.dll,只有这样,中文的双拼才会用dvorak布局。arch下修改/usr/share/ibus/component/rime.xml里面的<layout>us</layout>,us改成dvp。记得ibus->preferences->advanced下,不要勾选Use system keyboard layout。这样rime就使用dvp了, 然后添加其他需要的键盘布局,如qwerty。mac下不存在这个问题,因为会自动记忆上次的英文布局,从dvorak切换到双拼,那么双拼默认使用的就是dvorak布局。所以,如果你真的想用dvorak,买个mac吧,这是最省心的做法。但事实是,正是mac成为压死骆驼的最后一根稻草,让我回到qwerty的世界,后面会说到。
  4. 快捷键,快捷键有两种,一种是从意义出发的,比如:CTRL + C,c是copy的意思。另一种是从键位考虑,如CTRL + Z和CTRL + V,纯粹是为了和C,X,放在一起,方便左手的单手操作。如果是前一种快捷键,就没有任何问题。但偏偏几乎所有软件都会同时使用两种快捷键,如vim. 退出时的q可以认为是quit,但wq,即是write, quit,又是因为两种挨在一起。最蛋疼的是光标移动,本来是用h, j, k, l用着很顺手。dvorak下,就变成左手控制左右,右手控制上下,根本不顺手。可能有人奇怪会问,你怎么不自定义快捷键?我使用dvorak本来是为了省时间,不是为了浪费时间。就单一个vim,那么多快捷键,怎么定义得过来。况且,很多软件根本就不能自定义快捷键!
  5. 使用别人电脑,包括远程桌面。这没办法,只能用两个食指戳了。或者临时切换到dvorak,记得当时上机考C++(用实验室的电脑),就是临时换成dvorak,幸好当时不是使用programmer dvorak,不然更麻烦,主流的os都没有,只能自己安装。

这么多困难,现在我在qwerty下敲着这篇文章,回头看看,第3,4,5的任何一点都足以阻止我继续使用。但是,当时就真的坚持了下来。可以说,当时是有点傻,有点理想主义情节。现在想想,感慨之余,真有点佩服过去的自己。

那么,为什么现在换回qwerty。这理由有点机缘巧合,也有点可笑。因为要开发ios, 需要使用mac. 本来是打算买个mac mini的,因为自己有显示器和键盘。偏偏看中的2014款中配没有货,索性买了macbook pro 13寸中配。那么问题来了,拿到机子的时候真的觉得太漂亮了,贴上贴纸就没有好看的背光键盘。纠结在三,还是贴上了,果然档次降了不止一档。再纠结再三,决定全部(3部笔记本,一个外接键盘)换回qwerty。

事实是,macbook真的只是压死骆驼的最后一根稻草,是长期以来,对抗这个qwerty的世界,搞得身心俱疲。长期的,各种的不好用,积累下来,才在这最后一刻反叛。
它限制了我的探索,有很多好用的软件因为快捷键的原因都放弃了。它和linux不同,linux只是在桌面这一块不是主流,其他的计算领域早被linux占领,而且使用它开发的确会更方便一点(集成的包管理器和原生的命令行)。也不会因为我用linux,你用windows导致无法交流。况且,在程序员圈子里,linux还算比较常见的。

最后总结了4点建议,现在在犹豫是否使用dvorak的童鞋不妨一看:

  1. dvorak输入英文真的很好用,但无奈,这是一个qwerty的世界,除了这一点,就没有其他好处了。特别是在中文双拼上,它比qwerty更难用。据说全拼会比qwerty快点,没试过。
  2. 如果要用,请止步dvorak。programmer dvorak敲代码的确很爽,但日常的使用各种不便,我想,没人会只用电脑敲代码吧,日常生活,聊天娱乐也占了很大一部分。最重要的是,所有主流的os都没有programmer dvorak,当你有些很急的任务要用别的机子时,会急死你。
  3. 如果要用,有条件的尽量用mac,省事不用折腾。当然,如果是macbook,就只有盲打了,贴上贴纸就享受不到漂亮的背光键盘了。
  4. 键盘布局是很基础的东西,基础平台的改变会有巨大的历史阻力,我们做不到,事实是现在没有人,哪个公司能改变。正如inte的x86, 业界不止一次说x86已死,它死不了,就连intel当年强推安腾架构也失败了。如果不管其他人,就自己改变就好,需要面对整个扭曲的世界,崎岖前行,苦苦对抗,以至于你都没时间关注更上层的创新。花时间在这个上面倒不如花些时候关注更上层的东西,比如语言,算法这些。并不会因为你敲的快,写出的app就漂亮。
一句话,在中国,没必要使用dvorak.


2年后,还是放弃了programmer dvorak