emacs烦人的组合键

时间:2012-02-13 08:50:14

标签: emacs mapping combinations key chord

我不知道这是否也困扰你。 Emacs出于某种原因使用这些组合键。他们中的一些人很疯狂。你想要撤消一些东西,猜猜是什么! ctrl + shift + dash!同时有3个按键,有时它们不会同时按下,你必须重复它。在这个漫长的过程中,你会在屏幕上输入一些不需要的字符,并且必须在后面删除它们......或者ctrl + shift +< 。在vim中撤消只是" u" !

我厌倦了这些组合。但我喜欢emacs的其他功能,不想转向vim。你们怎么处理这个问题?你有没有映射键,或习惯了emacs和弦键?

重新映射emacs本机密钥我认为由于各种原因不是一个好主意。不确定实际上有多少人这样做。

3 个答案:

答案 0 :(得分:6)

我已经使用了很长时间的emacs,除了极少数例外,我只是学习了键绑定。这主要是一个练习问题。在Windows上,您可能需要考虑使CapsLock成为额外的Control键,这有助于一些手指体操。我建议不要完全重新定义标准的键绑定,但是如果有一些你肯定讨厌的东西,那么根据自己的喜好重新定义它当然没问题。对于用户定义的密钥序列,Emacs肯定会保留一些前缀密钥(C-c,也许还有其他一些我现在无法回忆的内容)。

另请注意,有时已定义了备用键绑定。关于撤消,它也绑定到任何C-/C-x u。我个人使用后者。您可以使用C-h k C-_找到此信息。 C-h kdescribe-key的绑定,它会告诉您输入的任何特定键序列,以及其他键(如果有的话)。

如果你刚刚开始使用emacs,那么阅读教程(C-h t)会有所帮助。

答案 1 :(得分:2)

您可以在 .emacs 文件中定义自己的组合键。它使用lisp语言,如果你不理解它,只需复制/粘贴现有​​的行。

阅读此页面以获取示例:http://xahlee.org/emacs/emacs_useful_user_keybinding.html

修改 使用 Ctrl + z 绑定撤消:

(global-set-key (kbd "C-z") 'undo)

以及其他有用的内容:

(global-set-key [home] 'beginning-of-line)
(global-set-key [end] 'end-of-line)

我也喜欢这个,用 Ctrl + Ins / Shift-Suppr / Shift-Ins 复制/剪切/粘贴:

(pc-selection-mode)

答案 2 :(得分:1)

我肯定会重新绑定密钥。实际上,我认为许多默认的键绑定都是无用且烦人的,所以当我可以得到它时,我将'undo'映射到“undo”功能键,否则映射到像Ctrl--这样的简短组合。 Sinsedrix已经展示了如何进行持久密钥重绑定。

(并且不要过于担心使用非标准绑定。的确如此,如果其他人必须输入你的编辑器,它可能会使事情略微复杂化,但这种情况并不常见。这与定义你的自己的键盘布局,就像QWERTY环境中的Dvorak一样,这是人们通常所警告的。)