我在 emacs 中做一个 ediff,我想将该区域复制到其中一个缓冲区中,以便将其粘贴到第三个缓冲区中。显然我可以手动执行此操作,但我希望能够通过几次击键来完成此操作,类似于如何使用a
并且b
可用于将一个缓冲区的版本替换为另一个。
有没有办法做到这一点?
如果没有,我应该如何实施它?我之前没有做过很多emacs编程。
我在 emacs 中做一个 ediff,我想将该区域复制到其中一个缓冲区中,以便将其粘贴到第三个缓冲区中。显然我可以手动执行此操作,但我希望能够通过几次击键来完成此操作,类似于如何使用a
并且b
可用于将一个缓冲区的版本替换为另一个。
有没有办法做到这一点?
如果没有,我应该如何实施它?我之前没有做过很多emacs编程。
查找ediff-util.el
(它可能ediff-util.el.gz
在您的系统上)。读取函数ediff-copy-diff
。你想模仿这种行为。然后,您可以像这样将新功能添加到 ediff-mode 键盘映射中 (define-key ediff-mode-map "a" 'ediff-copy-A-to-C)
。
您的函数可能应该被标记(interactive)
并询问缓冲区名称。有关详细信息,请参阅Emacs 交互式代码。