当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《避免获得"EmacsPinky"的最佳方法是什么?》经验,为你挑选了10个好方法。

我刚刚开始使用GNU Emacs作为我的文本编辑器,我担心受到" Emacs Pinky "的困扰,因为在使用Emacs时必须不断地用我的小手指按下控制键.我怎样才能避免这种类型的重复性劳损?



1> Alasdair..:

制作caps lock另一个控制键是一个很好的起点.投资符合人体工程学的键盘.一些emacs用户甚至可以通过脚踏板来控制和控制元素......


我认为脚踏板是这样他们可以添加更多的修改键.
绑定控制到大写锁定是一个糟糕的解决方案; 你还在使用你的小指,现在你只使用其中一个.尝试使用类似于Lisp机器上的布局.
那太过分了.
哈哈!脚踏板?得到其中一个:)
再加上1.我将大写锁定映射为我所有个人计算机上的另一个控制键.
@Zombies现在我正试图打破这个习惯并正确地使用双手将Caps Lock重新映射到Control,同时也使用Karabiner使Enter键成为同样位于右侧的Control键(当用作修饰键时 - 当它自己按下它仍然作为Enter).起初,当我打字很快时,这是有问题的,但我现在似乎已经掌握了时机.我认为在大多数键盘上放置普通控制键是较大问题的一部分.

2> teika kazura..:

配置使空格键可用作空间又可用于控制; 当space单独按下,作为空间,并与其他人按下时,如同ctrl.所以Space+ x被视为Ctrl+ x.

您可以在Windows中使用AutoHotKey,在Linux中使用Xorg中的" at-home-modifier ".(X,但仅限Linux.)您可以在Mac中使用Karabiner(格式称为keyremap4macbook).(事实上​​,我 at-home-modifier的作者.=)

你可以做更多,如果你的键盘周围有许多键,如日语键盘:日语键盘http://www.owltech.co.jp/products/keyboard/KB86STD/KB86STD_B-320.jpg

我的底线基本上是EscBSSpaceEnterTab,但当用作修饰符时,它就是AltShiftCtrlShiftAlt.(例如,如果你按住Esc,然后再空间,它的Alt+ Space,但空间之后Esc,它的Ctrl+ Esc.如果按Space,Escx,那么它的ctrl+ alt+ x)的所有可以与按压拇指.您可以从amazon.com订购日语键盘.你不必说日语.

这非常方便.例如,对于firefox(抱歉,不是emacs),请关注一个链接,然后按Ctrl + Enter; 然后它将在一个新选项卡中打开.(通过按Shift键,它将切换到新选项卡,而不是保持当前状态.)

(上图是at-home-modifier的作者使用的.不过,制造商不再销售这种型号.)


你如何获得Ctrl-space?

3> DenverCoder9..:

alt text http://www.userfriendly.org/cartoons/archives/07sep/uf010710.gif

@Xiong Chiamiov


漫画页面的链接可能会很好.

4> 小智..:

脚踏板!(我有一个kinesis.)在你这样做之后,取消地图控制和封锁,这样你就可以强迫自己用脚了.

(仅供参考,重新设置大写字母会有所帮助,但在一天之内足够的消息后,将不会是一个完整的解决方案.)


如果您有[Kinesis Advantage](http://www.kinesis-ergo.com/advantage.htm),您甚至不需要脚踏板,因为用拇指很容易达到控制.:)

5> Vilx-..:

为了爱上帝 - 使用另一个文本编辑器!如果它需要一个脚踏板正常使用它,那么......好吧......坦率地说,我说不出话来.当时有许多强大的当代文本编辑器,不需要你记忆大量的奥术击键或购买花哨的硬件.

你知道,我可以理解并接受很多东西,但是一个简单的文本编辑器的脚踏板就是我画线的地方.


然而,记住"奥术"击键的"音量"确实是主观的.要在任何其他编辑器中同样精通,无论如何都要记住大量的命令.
实际上我发现emacs比所谓的"更现代"的工具要快得多,特别是因为所有东西都可以通过control和alt键访问.没有必要将一只手从键盘移动到鼠标点击此处和那里.还有一件事 - 为什么脚踏板比手动踏板更荒谬?第一辆车只使用手动控制,用于转向,加速,减速和换档.设计师转向脚踏板,因为它工作得更好 - 一个人不需要将一只手从方向盘上移开来做一些操作.
这个答案可能很有趣,但除此之外它毫无价值.Emacs实际上是一个虚拟的Lisp机器:它具有内置和第三方新闻/电子邮件阅读器,IRC客户端,文件管理器,版本控制接口,本机shell,终端模拟器,您可以在其中运行另一个shell或其他基于终端的程序,基于文本的WWW浏览器W3M的界面,以及你在其他文本编辑器中看不到的大量文本编辑相关功能,当然除了Vim."Emacs是一个操作系统"并不是一个笑话,除了关于它没有一个好的编辑器的部分.;)另见其Vim仿真器"邪恶".
那真好笑!我多年前使用过emacs,我理解人们喜欢它,但你的回答确实让它看起来很傻.
+1,冗余答案 - 使用vi
另一方面,我喜欢在emacs工作,每当我使用其他东西时都会感到受阻.你真的不需要脚踏板.它们相当于汽车中的喷射式控制装置.或专业的游戏操纵杆.大多数人都不了解它们,但有些高级用户会这样做 - 而且他们是那些使用他们的系统的人.

6> 小智..:

我一直很好奇为什么这么大的程序员,作家,极客等社区还没有找到超级简单有效的解决方案来解决这个问题.简单地说:1)拿一小张纸,制作纸球; 2)用苏格兰威士忌将它粘在左边的ctrl键上(暂时将其从地方取下); 3)写作时,使用左手掌侧按下该键 - 现在这个键比其他键高,你可以轻松完成.这样你就不需要购买uber ergo-keyboards,或者将ctrl键重新映射到大写字母(最终你会用你的小指推动)...

关于这么小问题的讨论如此之多.


见[我的回答](http://stackoverflow.com/a/8935973/780703).破解键盘并用拇指按住Ctrl比使用手掌要好得多; 你根本不必离开主排.

7> Eric Z Beard..:

重新映射Left-Ctrl,Caps-Lock因此它们应该是:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,3a,00,1d,00,1d,00,3a,00,00,00,00,00

 



8> Chow..:

我完全同意重映射大写锁定解决方案,这有点帮助.为了更进一步,我尝试并喜欢Ergoemacs键绑定.该项目正在积极开发,并得到很好的支持.我个人不使用它,因为它没有与Mac OS X集成(一些EMACS密钥集成在Cocoa中),尽管似乎有人发布了带有Ergoemacs键绑定的inputrc文件.我一直在玩的另一个技巧是启用StickyKeys.它在许多平台上得到支持并减轻了一些特定于chording的问题(而不仅仅是过度使用):显然在emacswiki上推荐:http://www.emacswiki.org/emacs/StickyModifiers



9> Arne Babenha..:

我使用优秀的键和弦模式进行常见操作.您可以为其调用函数或键序列.

为了确保我不会过多地阻碍正常输入,我生成了字母统计信息以找到好的关键和弦.我将它们与我的默认和弦一起录制.

除了更方便的命令调用之外,我还有用于插入类似内容的和弦

Best wishes,
Arne

我讨厌没有那个写电子邮件☺

另外我使用控制锁定模式来处理flyspell,我需要一直控制.这是用真正的emacs快捷方式进行模态编辑.

我使用最多的和弦是

; buffer actions
(key-chord-define-global "vg"     'eval-region)
(key-chord-define-global "vb"     'eval-buffer)
(key-chord-define-global "cy"     'yank-pop)
(key-chord-define-global "cg"     "\C-c\C-c")
(key-chord-define-global "äü"     'control-lock-toggle)

; frame actions
(key-chord-define-global "xo"     'other-window);
(key-chord-define-global "x1"     'delete-other-windows)
(key-chord-define-global "x0"     'delete-window)
(defun kill-this-buffer-if-not-modified ()
  (interactive)
  ; taken from menu-bar.el
  (if (menu-bar-non-minibuffer-window-p)
      (kill-buffer-if-not-modified (current-buffer))
    (abort-recursive-edit)))
(key-chord-define-global "xk"     'kill-this-buffer-if-not-modified)

; file actions
(key-chord-define-global "bf"     'ido-switch-buffer)
(key-chord-define-global "cf"     'ido-find-file)
(key-chord-define-global "zs"     "\C-x\C-s")
(key-chord-define-global "vc"     'vc-next-action)



10> TacticalCode..:

首先,我想指出建议不要使用Emacs,因为默认的键绑定可能不适合所有人,这没有任何意义.Emacs是有史以来最具可配置性的"文本编辑器",因此,当然,像keymappings这样的微不足道的东西是完全可配置的.

关于"Emacs小指"问题,我注意到有几个人在他们的.emacs中有"反Emacs-pinky"键绑定,比如用户"Paul Nathan"(17.5k代表,因为我输入此内容):

emacs中有哪些好的自定义键绑定?

然后众所周知,许多人更喜欢vi方式和用户Emacs的毒蛇模式.

我认为,默认情况下,Emacs中的主要问题是过度依赖CTRL,更具体地说是Cx和Cf/Cb.这三个真的很可怕,因为它意味着,恕我直言,痛苦的手指扭曲.

所以首先要对问题进行定义:问题是什么?问题是默认情况下对CTRL过度依赖,事实上CTRL通常位于大多数键盘上,并且大多数键盘都在那里(我估计有超过99.9%的键盘都是有效的)是总的垃圾.

那么我的解决方案是什么?

我使用一个好的机械键盘,我做触摸式.人们真正认真对待这个可能会为了一个非常好的分体和矩阵键盘(比如Kinesis Advantage)而使用$$$ ...因为分裂矩阵是唯一一种从符合人体工程学的角度来看有意义的键盘(这个甚至不公开辩论).遗憾的是,我打字三十年了,不能适应矩阵布局,所以我使用的是旧的(有缺陷的)交错键盘.如果您打算使用交错键盘,至少要使用一个具有良好开关的键盘(例如像IBM Model M或Cherry MX开关中的屈曲弹簧或者像Happy Hacking Keyboard Pro中那样的Topres).准备好支付500美元甚至更多,如果你希望找到分裂+"机械"交错,如Cherry MX-5000(*)或IBM M15.

所以:简而言之,如果你真的认真对待这个问题,可以选择Kinesis优势(他们使用的是Cherry MX开关,如果我没弄错的话你甚至可以选择你的特定开关).

如果,像我一样,你可悲的是无法适应这些美妙的键盘,因为它们"太不同"了,那么就去找一个好的"机械"键盘.任何键盘都不允许在打字时"触底",这样可以节省手指的关节.经过数十年的编程后有所帮助.

如果你不想走"机械"路线并认为橡胶圆顶是精美的键盘(我认为它们是垃圾,但每个人都喜欢它),那么至少选择一个好的橡胶圆顶.MS'Ergo 4K将是一个不错的选择(再一次:它是橡胶圆顶,所以对我来说这是一个破坏手指的垃圾,但这是一个品味问题).

一旦你使用好的键盘,将CAPS-LOCK重新映射为CTRL.可以在任何操作系统上完成.这是微不足道的,关于这个主题有很多链接.

重新映射Emacs的密钥以停止过度依赖CTRL.第一个CTRL-x很糟糕.它确实是有史以来最糟糕的捷径.但是你可以将ctl-x-map重新映射到你想要的.我在重映射次要模式中执行此操作:

(define-key my-keys-minor-mode-map(kbd"C-,")ctl-x-map)

C-,可能不适合你:选择其他东西......

然后是光标移动的问题.我认为这对于"文本编辑器"来说是一个很大的问题.即使倾向于使用所有精细的Emacs函数来快速移动文本缓冲区而不是"移动光标",我仍然需要经常"手动"移动光标.

Cf/Cb必须是移动光标的两个最愚蠢的快捷方式.

我用M- {i,j,k,l}.所以人们更喜欢{hjkl}而不是{ijkl},但我更喜欢{ijkl},因为它会重现倒T形箭头.我也喜欢这样一个事实,当你作为一个触摸打字员,你在你的家庭排,你已经有三个手指{jkl}.没有疯狂的手指动作来达到'f'或'b':毫无意义.

最后但并非最不重要的:当你不打字,你休息你的键盘上的手指.当然,你需要一个带有良好开关的键盘,当你只是将键放在键盘上时,它有足够的阻力不能激活.

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有