在开发软件中,哪些是最好的和最糟糕的emacs键绑定?自从我学会以来,我发现自己试图使用C-p和C-n在所有具有文本框的东西中上下移动。
我总是被一些明显由从未使用过emacs的人组合或以低劣方式完成的emacs模式所困扰。因此,在这个帖子中让我们认识到胜者和失败者。
在开发软件中,哪些是最好的和最糟糕的emacs键绑定?自从我学会以来,我发现自己试图使用C-p和C-n在所有具有文本框的东西中上下移动。
我总是被一些明显由从未使用过emacs的人组合或以低劣方式完成的emacs模式所困扰。因此,在这个帖子中让我们认识到胜者和失败者。
勇敢的尝试
在编辑时,Eclipse的Emacs绑定还不错。但是,在某些对话框中,它们会神秘地崩溃,复制变成了C-c,粘贴变成了C-v。这很烦人。
一个很好的 Mac OS 附加功能
在 Mac OS 上,所有Cocoa应用程序都支持基本的emacs键绑定。这非常有用,因为本机Mac应用程序不使用控制键,所以没有冲突的机会。这也意味着您几乎可以拿起Mac上的任何文本编辑器(或字处理软件)并具备至少基本的Emacs键。
一个意想不到的好处
甚至这意味着使用 Swing GUI 工具包的 XML 编辑器 Oxygen,只有在 Mac 上才支持Emacs键绑定。我认为这是因为Apple实际上使用了重量级(Cocoa)文本小部件来实现他们在LAF中的Swing文本小部件。
在其他平台上,我经常使用 Oxygen 的 Eclipse 插件版本,只是为了恢复我的键绑定。
难看
G^%$&^% F^%$
StackOverflow,用一些 Javascript 糟糕的东西覆盖了 Mac 上的一些 Cocoa Emacs 绑定。非常烦人。
C-k (kill-line) is bound to (insert-this-crap `print("code sample");`)
C-b (backward-char) is bound to (insert-this-crap **strong text**)
C-e, C-a, C-p, C-f, C-n work as expected.
[这是一个来自编辑器的糟糕 EMACS 绑定的例子,甚至不试图像 EMACS 那样。]
我曾经发现自己在 Solaris 上的 EMACS 和 PRIMOS 上的 SOL 之间来回移动。
在 EMACS 上,C-p 意味着向上移动一行。
在 SOL 上,C-p 显然是一个未记录的命令,意味着退出编辑器而不提示或保存!
那段时间我丢失了很多工作,让我告诉你。
Bash支持一些Emacs快捷键(C-p,C-n,C-f,C-b,C-Space,C-w,C-y,C-a),但当我在使用screen时,发现它相当令人困惑,因为我需要输入C-a a C-k来删除该行。所以将screen前缀键更改为其他内容可能是个好主意。
C-o
,这在Bash、Emacs或其他任何地方我都很少使用。 - Michael Hoffman[这是一个糟糕的 EMACS 绑定示例,来自一个甚至没有试图成为 EMACS 类似编辑器的程序。]
我曾经在 Solaris 上使用 EMACS 和 PRIMOS 上的 SOL 来回切换。
在 EMACS 中,C-p 表示向上移动一行。
但在 SOL 中,C-p 显然是一个未记录的命令,意味着退出编辑器而不提示或保存!
在 PRIMOS 中,C-p 在任何地方都表示“中断”(类似于 Unix 中的 C-c)。我相信在 Emacs 移植到 PRIMOS 之前,它就已经存在了,因此更改一个程序比更改成千上万个用户和客户要容易得多。我最初学习 Emacs 是在 PRIMOS 上,后来花了几年时间才逐渐习惯了 C-p :-)。