如何从 emacs 复制并粘贴到另一个 emacs 实例或其他位置?
如果我这样做C-space
,M-w
然后C-y
,我只能粘贴到打开的 Emacs 实例中。如果我导航到另一个 Emacs 窗口或 Emacs 之外,Crtl + v
则不执行任何操作或粘贴我复制的 Emacs 中没有的内容。
我正在寻找更新 init lisp 脚本 ( ~/.emacs
) 的解决方案。我不想切换程序。截至目前,我已经有了这个,.emacs
但似乎没有效果。
;; Copy and paste between Emac instances
(setq x-select-enable-clipboard t)
(setq interprogram-paste-function 'x-cut-buffer-or-selection-value)
答案1
如果您没有在 X 模式下运行 emacs,则它无法访问 X 剪贴板,因此您无法使用其他 X 应用程序进行复制/粘贴。您必须使用 xterm 的复制/粘贴功能。
要在不同的 emacs 会话之间复制/粘贴,emacs 的方式是不运行多个会话。相反,您可以在绑定到同一会话的不同终端上打开帧,因此它们共享相同的终止环。您可以通过M-x server-start
在主实例中使用来完成此操作,然后使用emacsclient -t
在另一个终端中打开一个新框架。
答案2
我不是 emacs 用户,但如果您在 GUI 环境之外工作,您可以使用通用鼠标Linux 上的( gpm
) 守护进程,我猜还有其他一些 *nix。大多数发行版都将其作为软件包提供,因此您所需要做的就是安装它并启动服务。
您可以用鼠标以这种方式在 VC 中剪切和粘贴(我认为按钮 1 是选择,按钮 2 是粘贴——没有弹出菜单;这需要一些时间来习惯)。事实上,您可以在 VC 之间进行复制和粘贴。它适用于类似于 emacs 的复杂 ncurses 应用程序,例如 vim。
答案3
您可以使用“编辑”选项卡来使用鼠标(至少在 XEmacs 中,已经有一段时间没有使用 GNU Emaccs 了)。
答案4
这个问题已得到解答这里。链接的答案包括讨论(上面)和一些代码片段,以允许 emacs 剪贴板和 GUI、X 剪贴板之间的互操作性,即使在运行emacs-nox
或emacs -nw
.