打字技巧

0x00 前言

有一些人让我传授给他们一点打字的技巧,我想了想不如写一篇文章来记录一下。

首先我用的是双拼输入法,什么是双拼呢,看维基百科的定义:

双拼是汉语拼音输入法的一种编码方案。相对于全拼而言,使用双拼输入汉字时只需输入一个代表声母的字母,一个代表韵母的字母,就可以打出任意一个中文单字了。

双拼的码长很固定,就是2,一个声母一个韵母,我比较习惯用的就是搜狗双拼方案,如图:

双拼这个东西,没有什么技巧而言,就是不断的练习,然后到最后成为一种无他唯手熟尔的境地,就可以下意识地打字了

下面说几个有技巧的方法,辅助码和组词法

0x01 辅助码

0x00 为什么要用辅助码

拼音录入慢,慢在哪里了呢,慢在了选字这个环节上,大部分人都是按数字键123456和+来选字,使用这种方法,效率低下,有时候说不定还得翻好几页才能找到你想要的字

在标准指法中,初始状态下人的手方法ASDF这一行上(基准键),人手输入ASDF这一行的速度是最快的,QWER和ZXCV这两行次之,离他更远的数字键就更慢了

辅助码的作用就是帮你把你想要的字从输入法排序的后面调整到第一页的1号位和2号位,对于1号位,我们可以直接使用空格上字,对于2号位,我们可以使用左Ctrl键上字,经常玩FPS游戏的人肯定有用左手掌心压左Ctrl的经历(CS里面蹲着),所以用空格键上字和用左Ctrl键上字的速度是差不多快的

在输入完音码之后按TAB键进入辅助码选字模式

0x01 拼音简写辅助码

上图中,yk是双拼码,代表拼音yao

ttt为辅助码,垚这个字,可以拆分为3个土,所以在辅助码里面我们就可以用三个t来代替(t为土的汉语拼音第一位)

我们可以将较为复杂的字,拆分为几部分,然后给出每一部分的拼音简写作为辅助码

TL;DR:

弹:dj g,dj为dan,g为弹左边的弓的拼音简写

0x02 二级拼音辅助码

上图中,xm为双拼码,代表拼音xian

nyx为二级拼音辅助码,可以拆分为两部分

ny是双拼码代表拼音nv,代表娴这个字左半部分的女字

x为娴这个字的右半部分闲字的汉语拼音第一位

我们可以将较为复杂的字,拆分为几部分,然后给出每一部分的拼音作为辅助码

TL;DR:

详:xd yj(yh),xd为xiang,yjyh为全辅助码,yh此处可省略,言字旁辅助码为yj(双拼码的yan)

0x03 笔画辅助码

上图中,yj为双拼码,代表拼音yan

dhd为笔画辅助码,我们来看颜这个字,他的第1,2,3画分别是点、横、点,所以我们就可以使用dhd作为他的辅助码

对于某单字,我们可以通过他的笔画,按照点d、横h、竖s或u(双拼),撇p、捺n、折z

TL;DR:

筵:yj phn,yj为yan,phn为笔画撇横捺的辅助码

火:ho dp,ho为huo,dp为笔画点撇的辅助码

蛋:dj vu,dj为dan,vu为笔画折竖的辅助码

0x04 词组辅助码

词组辅助码就是靠上面几种的排列组合来得出相应的词组,这个主要看个人对辅助码的掌握情况和融会贯通,而且涉及到词组,打法就比较多了,在此不一一赘述

0x05 其他辅助码

至于小鹤双拼和自然码中的辅助码方案,我没有学过,而且我也不会用小鹤和自然码,有感兴趣的可以自己去了解

0x06 辅助码必需是无歧义的

辅助码必需是无歧义的,初学者很容易犯这样的错误,我们来看一个例子

假设我想输入炎这个字,如果按照拼音简写辅助码,我们可以将炎拆分为两个火,得出码为:yj hh,但实际上我们输入yj hh出来的却不是这个字:

为什么呢,就是因为hh产生歧义了,原因就在于hh还可以代表笔画辅助码里面横横,对于这样的行为是undefined behavior(C++看多了),未定义的行为,输入法会按照他自己的优先级顺序来给你识别辅助码,往往这种情况下,你会得不到你想要的结果,这个时候应该怎么办呢

首先我们看一开始,我们想用的是拼音简写辅助码,但是被输入法理解为了笔画辅助码,这个时候我们就不妨用剩下的那一个方案,二级拼音辅助码,我们直接把第一个字的二级拼音打全不就完了:

我们直接输入完整的二级拼音,hoh(全拼:huoh),这样不就没有歧义了嘛,我们得到了这个汉字

0x02 组词录入

如果想输入单字,而且这个单字还比较容易组词,那我们不妨组词输入,然后删除剩下的啊:

比如我想输入炎这个字,我可以输入yjre打出炎热这个词来然后再按退格将热这个字删除

0x03 后记

具体怎么打,看个人的掌握情况,辅助码的选字选词方式变通性很大很大,有的大神也的确能用双拼+辅助码打出五笔的效果来,辅助码一定要多练,当你习惯了这种输入方法之后,你就可以不用想,然后下意识地输入了,那时候你的打字速度相信也会有很大的提升了!

最后祭出卖油翁的话来:

无他,唯手熟尔