"Emacs Pinky"::包含电池的解决方案?

7 emacs elisp

我开始获得RSI,当我读到这个时,我正在浏览解决方案:

避免获得"Emacs Pinky"的最佳方法是什么?

我喜欢将空格键映射为空间和控制的解决方案,但问题在于:

我经常旅行很多,无法访问一台电脑.我在几个不同的计算机上编辑我的文档,我没有root访问权限(哎呀,我甚至没有正常访问权限).

是否有电池包含实施空格键解决方案的方式?一个小的lisp代码可能吗?

Tac*_*der 6

(这对评论来说太长了,但它可能对你有所帮助)

空格键解决方案看起来很有趣,虽然乍一看对我来说有点过于"hackish",但我可能会尝试一下......

无论如何,我会说"Emacs小指"问题是由默认的Emacs快捷方式引起的,这些快捷方式必须是为程序设想的最痛苦和RSI的捷径之一(这来自一个大型的Emacs粉丝所以不要把它视为Emacs的批评).

有迹象表明,需要用小指太多的默认快捷键:CTRL-p(先前线)出现在脑海.这是你的两个小指,它应该是如此聪明,因为'p'代表'之前'.所有的C-x somethingC-c something需要太多的手指拉伸过,我觉得M-x是一个非常inneficient快捷太...

我知道这可能是异端邪说,但有些人很乐意使用带有vim风格导航功能的Emacs,老实说,我不能责怪他们.

就个人而言,我喜欢这样的事实:在Emacs下,一切都是可配置的,所以我想出了一个个性化的配置,试图:

  • 最小化手/手指和小指运动
  • 最大限度地利用"强手指"
  • 最大限度地使用手指已经定位的键((a)QWERTY键盘上的sdf和jkl(;),但'a'和';'表示使用小指

我不反对偶尔使用小指:但对我而言,重复使用太多小指的方式可能会损害你的双手.

所以,作为一个例子,CTRL-{p,n,f,b}我没有使用移动而是使用:

  • ALT-{i,j,k,l} (将手移到箭头键是一个很大的禁忌).

  • 王牌跳模式

如果你从未使用过,ace-jump-mode你可能想要使用它.这是Emacs最大的节省时间之一.我已经将ace-jump-char-mode绑定到了M-e,这意味着我可以在四到五次击键中找到我在缓冲区中可以看到的任何角色(包括需要击中我的两个).这可以在CTRL-{p,n,f,b}任何一天使用,绝对有助于保存你的小指.

人们可能会喜欢并修改ace-jump-mode,这样就可以执行实际跳转(最后一次击键),而无需点击需要小指的按键:查看源代码看起来很容易(但在某些情况下,你可以'我需要使用一个额外的击键:在任何情况下,这仍然比手动导航要快得多.

这是一个两分钟的演示,关于如何使用ace-jump模式快速跳转(但即使是那个伟大的视频也没有做到这种模式正义:你真的必须用它来实现它有多棒):

"Emacs摇滚!第10集:跳来跳去":

http://emacsrocks.com/e10.html

然后除了C-xM-x,我已经添加C-,M-,充当C-xM-x.

例如:

(define-key global-map [(control ,)] ctl-x-map)
Run Code Online (Sandbox Code Playgroud)

我想说,不管你找到或者不使用SPC作为CTRL可移植的方式,你可能想在替代期待C-{p,n,f,b}C-x / M-x ("X",即使它不要求小指,是不是恕我直言很方便) .

TL;博士

要保存小指,您可以:

  • 打开一些即用型vim风格模式

  • 或花费时间(重新)完全配置您的Emacs,以便它停止销毁你的小指(这可能意味着,但不限于,如果你找到一个可移植的方式使用SPC作为CTRL )

除此之外,您可能希望使用emacs模式(如ace-jump-mode)来节省许多击键.

  • [jump-char](https://github.com/lewang/jump-char)是iy-go-to-char,具有动态突出显示和与ace-jump的集成. (3认同)