适合emacs的最佳键盘是什么?

38

对于emacs用户,你推荐什么样的键盘呢?

以下是一些加分项:

  1. 没有 capslock 键。相反,在那个位置有一个 control 键。
  2. Alt 键更靠近中心,更容易与 meta 组合键配合使用。我发现 alt 键离左边太远,在一些组合键中用拇指按有点别扭。
  3. 在其他方面符合人体工程学原理,有助于使用emacs。

我不是很喜欢像M型机一样高高的、嘎吱嘎吱响的机械键盘。我更喜欢笔记本电脑风格的平板键盘,但我并不排除任何一类。

有几种我好奇是否有人尝试过适合emacs的键盘 - Kinesis

半个结论:
最终我买了一个MS自然人体工学键盘 4000,感觉整体还不错,因为双侧的 alt 键很容易用拇指按。这在使用ergoemacs-mode时非常有用。

但是,我发现这个键盘的一个缺点是数字键往左移了一些,所以数字 6 键位于键盘的错误侧。除此之外,0 键的位置偏左,导致我用小指按下 0 时经常误按到 - 键。

由于这个缺陷,我把这个问题留给大家,以求得完美的emacs键盘。


1
我认为这更适合放在superuser.com上。 - Chris Thompson
同意,Chris。回答并关闭 - Paul Nathan
大写锁定键确实很麻烦。请访问http://www.usnetizen.com/fix_capslock.php了解如何禁用或重新定义它。 - Ralph
11
Emacs是一种程序员编辑器,所以它和其他任何地方一样都属于这里。除此之外,我认为设立一个单独的超级用户网站毫无意义。检查两个网站只会让人感到麻烦。 - catphive
16个回答

19

Richard Stallman(我相信大家都知道他是Emacs的作者,也可能是最大的Emacs用户)被发现正在使用HHKB (Happy Hacking Keyboard)(消息来源)。

以下是HHKB Pro的布局:

HHKB PRO

  • 没有Caps Lock键。
  • 方便地为Emacs用户放置了Control键。

它们的价格相当昂贵...


2
我有这个键盘,它很棒。但我真的非常希望它能分开... - schellsan
感谢您展示布局。我在OS X上快速简单地重新映射了键,现在使用emacs更加愉快了。 - mimoralea
我真希望自己够牛逼,能使用这个键盘。但是键位重映射的想法很好! - Sean Allred

13

我多年来一直使用Kinesis键盘与Emacs一起使用,并非常喜欢它。使用拇指轻松到达Alt、Ctrl、Del和Backspace键非常方便。箭头键的位置也很方便。


7

我有一款M型号的"Das Keyboard" Ultimate - 上面没有字母,非常符合人体工程学,并且对我的生产力非常有益。我曾经和你一样喜欢低调的笔记本风格键盘,但自从我得到了Das Keyboard以后,我无法想象使用其他键盘。它的声音和重量都很大,但是它的好处无法用简单的语言来描述 - 一个人必须亲自打字才能体会到...由于你可以轻松地将CAPS重新映射为Ctrl(我已经这样做了),所以我认为你不应该认为这种键盘具有特殊优势。另外 - 如果你习惯使用高度定制的键位布局键盘,那么当你不得不在普通键盘上工作时,你会受到很大的影响...


2
我在几年前转向了分离式键盘,并且从未后悔过。在使用分离式键盘之前,我的手和手腕会在一段时间后感到疼痛。我试着用了一下朋友的分离式键盘,竟然“没有疼痛”这个问题。这基本上就是让我下定决心的原因。虽然我有一台笔记本电脑,但它打字体验远不及分离式键盘。 - Paul Nathan
2
就个人而言,我对分离式键盘没有任何意见 - 我毫不怀疑它们非常方便使用。我不得不在不同的地方工作,也不想随身携带特定的键盘。在家和办公室里,我有一个Das Keyboard,但由于它相当标准,使用它不会导致形成可能妨碍我使用标准键盘的新打字习惯。我曾经在笔记本电脑上大量打字,手腕疼痛 - 切换到Das Keyboard后,疼痛消失了。还没有出现过Emacs小指疼,但谁知道呢 - 一切皆有可能... - Bozhidar Batsov

7

我最近在工作中获得了一款ThinkPad USB TrackPoint键盘,并对它非常满意。

我经常把大写锁定键重新映射为额外的Ctrl键。当我需要使用鼠标时,跟踪点就在那里,无需将手从键盘上移开。

这个键盘非常扁平,我喜欢键盘按键的手感。我还有几台ThinkPad笔记本电脑,由于这款键盘基本相同,所以无论我是在桌子前还是直接在笔记本电脑上工作,手感都是一样的-这是一个很大的优点。

这里有一些照片:http://www.thinkpads.com/2009/08/31/finally-photos-of-new-thinkpad-usb-trackpoint-keyboard/


6

我使用微软自然键盘4K,并修改了一些按键绑定以适应不同的几何形状。

特别是,我交换了c-p/n和a-p/n。

我的手和键盘的几何形状使得Alt键直接在我的拇指下方,我可以轻松地用左手的拇指和右手的第一/第三个手指向上或向下滚动。

我没有小指疼痛。

此外,我在工作和家中都使用emacs和微软4K,我对它们非常满意,并计划继续使用它们。


微软自然键盘4K超赞!在任何现代操作系统中,大写锁定键都可以轻松重新映射,因此这不应该是一个要求... - polyglot

6
作为一名热爱Emacs的用户和长期RSI患者,我发现最好的解决方案是使用Kinesis配合脚踏板。我将脚踏板编程为Ctrl、Alt和Meta,因此可以只用一个手指使用臭名昭著的Emacs组合键。在这种配置下,特别是重复的Ctrl序列非常有效。显然,您需要对键盘进行一些重新编程,但这些更改将很明显。

我应该注意到,我的另一个键盘也是4K的;它可能是最适合程序员使用的“传统”QWERTY键盘。 - Peter S Magnusson

6
有另一款键盘正在设计中,专为在emacs内使用而设计,它的名字叫key64,我大约两年前开始设计这个键盘,现在我正在完成固件的构建,而制作PCB和所需零件的所有说明都可以在其网站www.key64.org上找到。 它采用teensy板,可在Linux下用gcc-avr进行100%编程。 希望能在2013年1月底之前完成固件,并在网站上发布,供任何有兴趣制作自己的键盘的人使用 :)

4

我大多数时候使用Kinesis键盘;我已经用了十年,最近用新的Linear Feel“Cherry Reds”进行了改装,应该可以再用十年。但是键盘可能不如按键映射重要。基本规则是:打字时不要移动手腕,至少不要超过必要的范围。

为了在Kinesis上实现这一点,我将底部行映射为Hyper、Super、Control、Meta。我在拇指键上使用Mode_switch。因此,我绝对不需要移动手腕来输入键盘组合。(我使用Mode_switch连接到一个“嵌入式箭头键”层。)

你可以在任何键盘上做类似的事情,例如,你的笔记本电脑键盘--使用xmodmap重新映射数字行为修饰键。你仍然可以输入Shift+num以获得标准符号。这里是一个最小的xmodmap入门套件。使用xev进行进一步的自定义。

clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5
keycode   9 = s S Left
keycode  10 = d D Down
keycode  11 = f F Right
keycode  21 = w W BackSpace
keycode  22 = e E Up
keycode  23 = r R Delete
keycode  26 = Super_L exclam
keycode  27 = Hyper_L at
keycode  28 = Control_L numbersign sterling
keycode  29 = Meta_L dollar
keycode  30 = F6 asciicircum
keycode  31 = Mode_switch percent
keycode  32 = bracketright braceright
keycode  33 = Control_L parenleft
keycode  34 = Mode_switch ampersand
keycode  35 = bracketleft braceleft
keycode  36 = Meta_L asterisk
keycode  37 = Hyper_L parenright
add Shift = Shift_L Shift_R
add Control = Control_L Control_R
add Mod1 = Meta_L Meta_R
add Mod2 = Hyper_L Hyper_R
add Mod3 = Super_L Super_R
add Mod4 = Mode_switch
add Mod5 = Alt_L

4

自1976年以来,我一直在使用Emacs,并且已经使用Kinesis classic约8年了。我曾经使用脚踏开关控制Control和Alt键,但是后来发现将Backspace与Control交换、Delete与Alt交换同样有效。我还将左侧箭头键与[和]交换,以便更容易输入“ [”,“ {”,“}”和“ ] ”。

为了进一步简化打字,我创建了常用编程语言序列的绑定。例如,在C ++中,我将“。”映射到一个函数,该函数将“..”替换为“->”。我还尝试过只有在分号前面才有效的单词缩写,例如将“;pp”替换为“++”。


3

我在工作和家中使用GoldTouch键盘,它能很好地帮助我缓解关节炎。我将Caps Lock键重新映射为Ctrl键,这对于使用emacs时减轻手指的压力有很大帮助。但Alt键有点问题,不过我在我的.emacs文件中通过简单的映射解决了一些问题:

; Replace M-x with C-x C-m or C-x C-c
(global-set-key "\C-x\C-m" 'execute-extended-command)
(global-set-key "\C-xm"    'execute-extended-command)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接