【发布时间】:2012-09-20 17:44:29
【问题描述】:
我在 emacs 中做一个 ediff,我想将该区域复制到其中一个缓冲区中,以便将其粘贴到第三个缓冲区中。显然我可以手动执行此操作,但我希望能够通过几次击键来完成此操作,类似于如何使用 a 和 b 将一个缓冲区的版本替换为另一个。
有没有办法做到这一点?
如果没有,我应该如何实施它?我之前没有做过很多emacs编程。
【问题讨论】:
标签: emacs emacs-ediff
我在 emacs 中做一个 ediff,我想将该区域复制到其中一个缓冲区中,以便将其粘贴到第三个缓冲区中。显然我可以手动执行此操作,但我希望能够通过几次击键来完成此操作,类似于如何使用 a 和 b 将一个缓冲区的版本替换为另一个。
有没有办法做到这一点?
如果没有,我应该如何实施它?我之前没有做过很多emacs编程。
【问题讨论】:
标签: emacs emacs-ediff
找到ediff-util.el(在您的系统上可能是ediff-util.el.gz)。阅读函数ediff-copy-diff。你想模仿这种行为。然后,您可以像 (define-key ediff-mode-map "a" 'ediff-copy-A-to-C) 一样将新功能添加到 ediff-mode 键盘映射。
您的函数可能应该被标记为(interactive) 并要求提供缓冲区名称。详情请见Emacs interactive codes。
【讨论】: