1

我正在使用 OSX 10.9、iTerm2、Emacs Prelude 和 Clojure 以及所有最相关的模式,smartparens. 目前很好。

简短的版本是:有没有人找到一种和谐的方式将所有这些与 OSX Mission Control 一起使用?

更长的版本是:我希望能够使用类似的命令sp-forward-slurp-sexp,它的默认键绑定为C-<right>,更广为人知的是“通过任务控制正确切换空间”的默认操作系统级快捷方式。我可以很容易地重新映射它(比如,到C-Shift-<right>)——但现在,我发现它C-<right>实际上似乎在发送类似M-[1;4A. 而不是触发sp-forward-slurp-sexp,你得到sp-wrap-with-pair "["。嗯。

我挖掘了这篇关于重新映射键的论文,这非常彻底,但也涉及重新映射相当多的东西,然后禁用paredit正在侦听M-[命令的部分。虽然这在技术上似乎可行,但我实际上更喜欢sp-wrap-with-pair启用。也许更好的选择是接受理论上的等价物C-(——除了 iTerm2 仅将其解释为字面量 9 和C-)0。这篇 SO 帖子仔细研究了这个问题,并得到了一个诱人的评论,暗示C-(C-)简单地重新映射到 emacs 可以映射的转义序列C-(C-)- 但坦率地说,我不知道如何弄清楚应该是什么转义序列。

把它全部带回家:有没有人找到一种方法来一起使用所有这些工具(Mission Control、iTerm2、Emacs Prelude、smartparens),而无需重新连接或禁用其中部分或大部分工具?或者:谁拥有最优雅的重新布线?有人想出C-)-to-escape-sequence-back-to-C-)技巧了吗?

编辑

在黑暗中刺伤,我做了以下事情: 1. 将 iTerm 设置为发送键盘快捷键 Ctrl-Shift-0 ( C-S-)) 的转义序列SPRTPRN。2. 把它放在我的 emacs 配置中:

(define-key input-decode-map "\eSPRTPRN" [C-right-paren])
(global-set-key [C-right-paren] (kbd "C-)"))

......它不起作用,但我有预感我越来越近了。我认为。

再次编辑

我意识到了一些事情:Shift 在这里不起作用的想法对我来说没有意义。至少在我的 emacs 安装中,M-< 和 M-> 分别跳转到缓冲区的开头和结尾——要使用这些命令,我​​必须实际按下Meta-Shift-<。嗯。

4

0 回答 0