0

在使用2个缓冲区(左边是“编辑缓冲区”,右边是“执行缓冲区”)进行调试的过程中,我经常遇到需要将一行代码从“编辑缓冲区”复制到“执行缓冲区”的情况并立即执行它(也许不离开“编辑缓冲区!)。

是否存在绑定?如果没有,我该如何创建一个?

4

3 回答 3

1

可能值得询问您使用的是哪种语言以及哪种类型或 REPL。例如,如果您将 Slime 与 Common Lisp 一起使用,那么您通常不需要转到实际的 REPL 缓冲区来评估代码。在您的代码缓冲区中,您可以将 point 放在 Lisp 表单的末尾,然后执行C-x C-e- 在 emacs-lisp-mode 中评估表单的相同绑定 - 它将在 REPL 中评估它。我不记得了,但C-M-x在带有 Slime 的 Common Lisp 缓冲区中的工作方式可能与通常在 Emacs Lisp 中的工作方式相同。

至少其他一些模式以相同的方式工作——在 shen 模式的缓冲区中,您可以在活动的低级 shen 会话进行时以相同的方式评估代码,我也使用了执行相同操作的方案模式。我认为如果你有一个劣质的 REPL 是相当标准的,相应的语言模式将重新绑定这些键来评估 REPL 中的表单。

对于它可能值得...

于 2013-09-05T03:00:12.473 回答
1

选择您要执行的行,C-cC-r通常可以完成这项工作。前提是hooks 存在。

于 2013-09-08T01:25:51.280 回答
0

我不知道现有的绑定,但您可以轻松地创建一个宏来移动到另一个窗口,拉动并返回。整个过程将是:

  1. 启动宏C-x (
  2. 移动到另一个窗口C-x o
  3. 扬克C-y
  4. 向后移动 1 个窗口C-u -1C-x o
  5. 停止宏录制C-x )
  6. 命名那个宏C-x C-k n yank-other-window

接下来,您要保存该函数并将其绑定到启动 Emacs 时加载的 ELisp 文件中的键:

  1. 将宏插入文件M-x insert-kbd-macro <RET> yank-other-window <RET>
  2. 绑定到一个键(global-set-key [C-M-.] 'yank-other-window)
于 2013-09-05T01:59:28.067 回答