vim - 具有RSI类型症状(无法使用的手指)的代码创建/编辑器的软件要求

标签 vim emacs editor vi evil-mode

我知道并且已经阅读了本网站的适当主题部分。我已经看到有关RSI,姿势等的各种主题已关闭,不再提及主题,而是转到了另一个站点/部分。但是,我认为我的问题的措辞应在“软件需求”部分下,因为我正在寻找有关特定类型的输入以及针对我所遇到的一些非常特殊的医学问题的软件配置。

这不是关于RSI预防的主题,这只是我可以在标题中最容易理解的标题。我可能只是问了一个问题就已经回答了我的问题,但是如果有我没想到的事情,医疗和其他问题是:


去除良性肿瘤生长后,我有一个手术修复的右手(优势手)食指。这种增长在2012年发现并切除肌腱之前已经将肌腱夹住了18个月以上。我可以使用“扁平手”手指,例如键入英文字母(例如此电子邮件),但是让我朝着握力方向前进的动作是痛苦,例如用笔写字或使用鼠标或触摸板。我可以使用鼠标,但不能在几天内工作。
我的前臂和小指都有麻木和疼痛,原因尚未明了。反复扇动我的手或使用小指使这些人非常痛苦,这在编写代码时使用修饰键时会出现明显的问题。即使使用无名指,也要推太多。
虽然目前无法工作,但我最有可能返回的途径仍然是我以前的工作。我在家中要做的工作非常有限,因为主要客户坚持要求您在他们的房屋内工作,更重要的是使用他们的设备。我不认为我可以使用任何自定义设备(除了跟踪球之类的附件之外),即使我愿意自己支付费用,我们作为一个团队也已从Corporate IT Admin大量撤离。因此,充其量我可以期望拥有8GB RAM的i3 / i5笔记本电脑。除了笔记本电脑的显示器外,我可能还可以赃物/提供外部显示器。我们确实具有对该操作系统的管理员访问权限,但是我不能在其上或任何其他操作系统上安装本机Linux,即使我需要Windows的企业交流和会议工具。
(编辑)。腰椎间盘突出引起双腿神经痛。同样,我从身体的角度进行研究,但是出于这个问题的目的,我将假设我目前的状况是永久的,这排除了踩踏板或以其他方式使用我的腿来输入角色的可能性。


所以我不能使用鼠标或触摸板(不确定球)。尽管具有管理员访问权限,但无法使用修饰键,并且需要在与业务/销售经理可能获得的同类Windows 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或Eclipse(例如Eclipse或NetBeans)之类的IDE的人的一些迹象,表明该软件适合我的用途,在我开始学习使用它之前,我必须做(无偿使用) ),然后再恢复工作,至少需要将我以前的位置摔倒80%。

这样我就可以尝试避免在我没有预见到的范围内走过任何砖墙。作为第一件事,我的直觉是“学习emacs”,因为无论我是否有其他更适合主要目标的技能,这都是我所在领域的有用技能。

非常感谢。

最佳答案

默认的Emacs绑定大量使用了修饰键;但是,可以使用默认值的替代方法,而不必要求您手动自定义所有绑定。

Vi / Vim可能是替代编辑器的不错选择,因为与其使用修饰键来启动命令,不如在“插入模式”(键入的键产生文本)和“命令模式”(其中的键)之间切换。您可以输入触发器编辑命令),因此您很少(如果有的话)需要同时按住多个键。

但是,Emacs可能仍然是理想的。 Emacs的一个优点是它可以与许多其他进程和应用程序集成的程度,因此,除了编辑文本之外,还为您提供了许多活动的熟悉的键盘界面。我想说的是,Unix下的情况比Windows多得多,但是我确信仍然有好处。

在Emacs中也有使用Vi方法的方法,这可能是一个更好的答案。我知道evil-mode软件包(“ 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)允许您键入F6后跟x,而不是在键入x时按住Ctrl。

其他类似的重新分配不会那么琐碎,但一切皆有可能。

更一般的说(也许是更有用的;当然可以用更少的自定义),您可以使用自定义(因此可能没有修饰符)序列发送任何修改过的密钥。

event-apply-*-modifier函数(用于shiftcontrolmeta(您的Alt键),superhyperalt(不是您的Alt键))是执行此操作的技巧。当被调用时,他们从用户那里读取下一个键,然后将所需的修饰符应用于该键,从而将结果传递为使用真实修饰键键入的结果。

下面将使用键盘上的数字键代表所有修改键。然后,您可以将序列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) Event Mod RET

完全不同的方法是使用踏板(或其他输入设备;例如:http://xkeys.com/xkeys.php),使您可以按预期使用修饰键,而无需重新绑定任何东西。

关于vim - 具有RSI类型症状(无法使用的手指)的代码创建/编辑器的软件要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24802584/

相关文章:

vim - 使用 vim 在目录中重构类/方法/字符串的有效方法

regex - 文本编辑器(正则表达式?)解释日期字符串的技巧

vim - 使用 Clang 的 Vim 的 C 系列语义自动补全插件(C/C++ 补全)(clang_complete、YouCompleteMe)

vim - 如何让 emmet 将带有值的属性添加到 div 标签中?

emacs - emacs 的颜色主题库?

Emacs 将缓冲区合并为一个而不使用 C-x 1 键绑定(bind)

emacs - 组织电子表格的表格公式

github - 在github原子编辑器中隐藏隐藏(点)文件

compiler-errors - 需要普通的 Coffeescript 编辑器

regex - 在 vim 中执行非正则表达式搜索/替换