如何在 Pharo 中获得类似 emacs 的键绑定?

How to get emacs-like keybindings in Pharo?

我今天下载了 Pharo,我注意到大多数键绑定在语言环境中不起作用。 有什么方法可以使标准 Mac / Linux 键绑定起作用?

我在 Google 上搜索找不到答案。

如果有人能告诉我如何配置标准,我将不胜感激

Ctrl+a, BeginningOfLine
Ctrl+e, EndOfLine
Ctrl+d, forwardDelete
Ctrl+f, forwardChar
Ctrl+b, backwardChar
Ctrl+n, nextLine
Ctrl+p, previousLine

在 Pharo 5.0 上工作。

如果 "standard" 你的意思是 "emacs-like keybindings" 那么不,Pharo 不支持这种方案,也没有简单的方法来改变它们。

您可以在 PharoShortcutsRubSmalltalkEditor class>>buildShortcutsOn:(为 Playground 提供动力)等地方更改一些硬编码的快捷方式。 但是很可能还有更多的地方(例如 Nautilus)。

您提到的几个快捷方式也是 Pharo 的核心快捷方式(从某种意义上说,您几乎可以在任何可以键入文本的地方执行它们),即:

  • ctrl+p 打印选择
  • ctrl+d 用于执行(执行)选择
  • ctrl+n 浏览突出显示的选择器的发件人

此外 ctrl+a 是 "select all" 几乎所有的文本编辑器,并且 ctrl+f 找到。

但是,正在努力清理快捷方式并将它们统一到一个地方 (PharoShortcuts),因此及时进行此类更改应该很容易实现。

为了在我的 Mac 上获得基本的 emacs 样式光标导航,我使用 BetterTouchTool 发送 Pharo 键,如下所示:

ctrl+a --> fn + left-arrow    Beginning of line
ctrl+e --> fn + right-arrow   End of line
ctrl+p --> up-arrow           Previous line
ctrl+n --> down-arrow         Next line
ctrl+f --> right-arrow        Forward character
ctrl+b --> left arrow         Backward character
ctrl+v --> fn + down-arrow    Next page (behavior is inconsistent)
option+v --> fn + up-arrow    Previous page (also inconsistent)

这并不理想,但朝着正确的方向迈出了一大步。 BetterTouchTool 非常棒,任何 Mac 高级用户都应该认真考虑一下。

为了非Mac用户的利益,此方案中不会与 Pharo 核心快捷键发生冲突,因为在 Mac 上,Command 键用于代替 Pharo 的 Ctrl核心快捷方式。