这不是关于预防RSI的话题,它只是我能在标题中最接近人们会理解的.我可能只是通过询问来回答我的问题,但是如果有一些我没有想到的事情,医疗和其他问题是:
>在移除良性肿瘤生长后,我有一个手术修复的右手(优势手)食指.在2012年被发现和切除之前,这种增长已经将肌腱夹住了大约18个月.我可以用手指“平手”,例如打字英语(例如这封电子邮件),但是让我抓住的动作很痛苦,用笔书写或使用鼠标或触摸板.我可以使用鼠标,但不能用于近一天的工作.
>我的前臂和小指都有麻木和疼痛的原因.反复扇动我的手或使用小指使得这些非常痛苦,这在编写代码时使用修饰键存在明显的问题.即使使用无名指也会推得太多.
>虽然目前无法工作,但我最有可能回归的途径仍然是我以前的工作.我在家做的工作量非常有限,因为主要客户坚持要求他们在自己的工作场所工作,更重要的是使用他们的设备.我不认为我可以使用任何自定义设备(超出配件,如轨迹球),即使我愿意自己付费,我们作为一个团队大大地从企业IT管理员中删除.所以充其量我可以期待一台配备8GB内存的i3 / i5笔记本电脑.除笔记本电脑显示器外,我可能还可以提供外接显示器.我们确实拥有对操作系统的管理员访问权限,但我不能将原生Linux放在它上面或任何东西,即使我可以从Windows需要企业通信和会议工具.
>(编辑).突出的腰椎间盘突出导致双腿神经疼痛.我再次从物理角度对此进行研究,但出于这个问题的目的,我认为我目前的状况是永久性的,这样可以排除踏板或其他用于进入角色的腿部.
所以我不能使用鼠标或触摸板(不确定球).无法使用修改键并且需要在企业/销售经理可能获得的同类Win 7企业笔记本电脑上工作,尽管具有管理员访问权限.主要类型的工作是LAMP堆栈,尽管还有其他技术,如Java,C和Python.
我曾经看过Tavis Rudd(这里:http://www.youtube.com/watch?v=8SkdfdXWYaI)的语音编码,这可能是家庭的选择,但不是开放式客户办公室.这个想法确实让我想到了我的解决方案可能在于使用带有重映射绑定的emacs之类的东西.我可能会得到一台足够强大的笔记本电脑来运行Oracle VM下的极简主义X11桌面(比如说可能是FluxBox).或者我可以安装和使用Cygwin.
我从来没有使用完整的IDE,但从未使用emacs超越琐碎的任务.我去工作将是scite和一些xterm shell.它可能有所改进,但我发现我们得到的笔记本电脑上的IDE有点迟钝.我知道IDE和scite都是可扩展的,后者在lua下,但我怀疑emacs将提供更多关于多语言的现有扩展以及诸如存储库工作或其他访问服务器等任务(大多数将是* nix).
我仍在进行身体调查和康复治疗,但目前我认为这些限制仍然存在.这里最有帮助的是那些熟悉emacs或IDE(如Eclipse或NetBeans)的人的一些指示,该软件适合我的目的,在我开始学习使用它之前,我将不得不这样做(无偿) )在返回工作岗位之前,需要至少达到我之前的80%.
这样我就可以尝试避免任何砖墙,我没有预见到.我的第一件事就是“学习emacs”,因为无论如何,这都是我所在领域的一项有用技能,尽管如果有其他更适合主要目标的话,我会这样做.
非常感谢.
Vi / Vim可能是替代编辑器的一个很好的选择,因为您可以在“插入模式”(您键入的键生成文本)和“命令模式”(其中的键)之间切换,而不是使用修饰键来启动命令.你键入触发器编辑命令),所以你很少(如果有的话)需要同时持有多个键.
但是,Emacs可能仍然是可取的. Emacs的一个优点是它可以与许多其他流程和应用程序集成的程度,从而为编辑文本之外的许多活动提供熟悉的键盘界面.我会说在Unix下的情况远不如Windows,但我确信仍然有好处.
还有一些方法可以在Emacs中使用Vi方法,这可能是一个更好的答案.我知道邪恶模式包(“Emacs的可扩展vi层”)是在Emacs中使用vi样式绑定的最全面的方法.
我自己不是vi用户,所以我会留给其他人提供详细信息.
保持模态编辑方法,God Mode为您提供类似Vi的模态分离,但使用熟悉的Emacs键序列(按照链接更好地理解该语句).作者说:“你会发现这种模式出乎意料地自然而且你已经知道如何运行现有的Emacs命令.”
抛开模态编辑,诸如ErgoEmacs之类的包尽力提供比默认值更友好的键绑定,并且可能是有用的.
我读过的一个自定义方法(由Xah Lee使用)是将某些键专用于前缀绑定,通过它可以在没有修饰符的情况下访问其他所有内容.这对于某些类型的绑定来说很简单,并且在其他情况下需要付出努力(可能在大多数情况下是现实的).
例如,很多绑定都以前缀C-x(ctrl x)开头,但是可以将整个前缀分配给不需要修饰符的序列.例如:( global-set-key(kbd“< f6> x”)’Control-X-prefix)允许您在键入x时键入F6后跟x而不是按住Ctrl键.
其他类似的重新分配也不会那么微不足道,但这一切都是可能的.
更一般地说(也许更有用;当然用更少的自定义),您可以使用自定义(因此可能无修饰符)序列发送任何修改的密钥.
event-apply – * – 修饰符函数(用于shift,control,Meta(你的Alt键),super,hyper和& alt(不是你的Alt键))是这样做的诀窍.调用时,它们会读取用户的下一个键,然后将所需的修饰符应用于该键,将结果传递给它,就像使用real修饰键键入一样.
以下将使用键盘上的数字键来表示所有修改键.然后,您可以将序列C-xC-b键入为1x1b.
(define-key function-key-map (kbd "<kp-1>") 'event-apply-control-modifier) (define-key function-key-map (kbd "<kp-2>") 'event-apply-Meta-modifier) (define-key function-key-map (kbd "<kp-3>") 'event-apply-super-modifier) (define-key function-key-map (kbd "<kp-4>") 'event-apply-shift-modifier) (define-key function-key-map (kbd "<kp-5>") 'event-apply-hyper-modifier) (define-key function-key-map (kbd "<kp-6>") 'event-apply-alt-modifier)
您需要做一些额外的工作才能让您为单个键组合多个修饰符,但这是可能的.
关于修改和翻译输入事件的elisp手册页也是相关的:
C-hig(elisp)事件模式RET
一种完全不同的方法是使用脚踏板(或其他输入设备;例如:http://xkeys.com/xkeys.php),使您能够按预期使用修改键,而无需重新绑定任何东西.