上节写到具体的行为+具体的对象,比如最后那组操作:
如果我按照“具体”的原则来说,就比较清楚了:
1、按住Ctrl键,再按一下G键,松开Ctrl键,会弹出定位窗口
2、鼠标左键点击左下角的“定位条件”,会弹出定位条件窗口
3、按一下K键,会选中空值选项
4、按一下Enter键,确认后会选定所有的空单元格
5、输入“-”
6、按住Ctrl键,按一下Enter键,松开Ctrl键,一键填充
用这具体的动作+具体的对象,就可以按着步骤完成了。
这每一个具体的动作,我用一个单词Action来表示,简写A。
于是这组操作,就可以简写为A1、A2、A3、A4、A5、A6。每个代表了一个具体的动作。
其中每个A都会有对应的变化,即对应操作对象的变化,用State表示对象的状态,简称为S。
这里每个A其实是包含了一些小动作的(按住、按一下等),同时每个小动作还有其操作对象。但把A当作一个动作的时候,A对应的操作对象就是这一组小动作组合起来引起状态改变的那个东西了。
比如:
A1的操作对象是定位窗口,定位窗口的S1是隐藏的,经过A1之后,变成S2非隐藏。
A2操作对象是定位条件窗口,S1是隐藏,S2是非隐藏。
A3操作对象是“空值”选项,S1是未选中,S2是选中。
A4操作对象是所有“空值”单元格,S1是未选中,S2是选中。
A5操作对象是当前单元格,S1是空值,S2是“-”。
A6操作对象是所有选定单元格,S1是空值,S2是“-”。
注1:以上A所对应的操作对象还有待商榷,比如A4,是在前面A1+A2+A3的基础之上才能完成选定所有空值单元格的,其操作对象我定为所有的“空值”单元格,我是以哪个操作引起对应S的改变来定的。
一组A(A1-A6)构成一个流程,用Program表示,简写为P。
以上的这个P完成了工作表中所有空值单元格的填充。
P的操作对象是空值单元格,S1是空值,S2是“-”。
一组P又可以组成一个大P,完成更高级更复杂的状态改变,P理论上是无限可嵌套的。
而一个大P里面的小P,就相当于是个A。
对一个人来说,任何一件小事都是一个P,比如洗脸,要开水龙头、接水、拂面、拭干等,每个小动作都是一个A。但当洗脸成为一个人的习惯,他可以下意识就能完成的话,这个P,其实就相当于一个A了。
对于一个人来说,A就是轻而易举就能做到的行为。
A是相对的,对我来说可能是个A,对别人来说可能是个P。
就像上边的那个P(A1-A6)对我来说就个A,一个习惯性动作;对朋友来说是个P,一组连续的动作。但用习惯了,也会变成朋友的一个A。
A:一个习惯的动作。
P:一组习惯动作的组合。
S:对象的状态。
具体就是要具体到这个A。
注2:P、A是相对的,他俩都是改变对象的状态,只是处在不同的层次。高一层的是P,低一层的是A;低一层的是P,再低一层的是A。
在注1里说到A4的操作对象有点模糊,等到写到这里,我觉得完成“所有空值单元格”状态由未选定到选定是A1-A4四个动作的组合,所以,A1-A4的组合的操作对象是“所有空值单元格”;而A4的操作是定位条件的确认,A4可以看作只是一个动作,一个确认的动作。还是有点小模糊呀,以后再看吧
时间又不早了,该睡了。
明天开始GTD的实践了,定个具体的目标是:第四章,读上五分钟。
注3:一组习惯的动作是有问题的,A应该是指一个可以轻松完成的动作;P应该是一组动作的组合,每一个动作都是可以轻松完成的,而这一组动作的组合是需要消耗自己较大的精力,需要有意识的控制