如何使用 emacs 在不同文件之间进行剪切和粘贴?

如何使用 emacs 在不同文件之间进行剪切和粘贴?

我正在运行 OSX 10.6.8。假设我打开了两个终端窗口,在每个窗口中我开始使用 emacs 编辑不同的文件。在第一个文件中,我选择一些文本,然后复制它 (Mw),然后在第二个文件中尝试粘贴它 (Cy)。我以为这会粘贴我从另一个文件复制的内容,但我收到错误消息“上一个命令不是复制”。

这些命令对于在单个文件内复制和粘贴非常有用,如何在不同文件之间复制和粘贴?

答案1

据我所知,不知道在单独的窗口中运行emacs完全不同的实例。您需要使用 Mac 的-和- 。emacsTerminal.appCmdCCmdV

我可能错了,也许emacs可以设置为使用某种形式的 IPC 来查找其他单独运行的实例emacs并尝试在它们之间共享剪贴板之类的东西,但这似乎不寻常。请参阅@IvanAndrus 的回答,了解如何使用emacsclient实例emacs协同工作。

如果你想要emacs在单独的 GUI 窗口中,你也可以看看水上麦克斯

更新后添加:您还可以学习使用emacs本机功能在同一实例中编辑多个文件/缓冲区: http://www.gnu.org/software/emacs/manual/html_node/emacs/Buffers.html

答案2

您可以(并且应该)使用emacs客户端如果您想在另一个终端窗口(甚至在远程服务器上)使用 emacs。那么您将在两个终端中运行相同的 emacs 会话,并且复制/粘贴将正常工作。您还可以将其与 GUI 会话结合使用。您必须在文件中启动服务器.emacs

在此EmacsWiki 页面有很多示例说明如何编写脚本来启动 Emacs 会话(如果尚未运行)或连接到 Emacs 会话(如果已启动)。您可能还想尝试将 Emacs 作为守护进程运行这样,即使您断开了所有终端,Emacs 仍将继续运行。

相关内容