在Macintosh上将文本粘贴到emacs中

时间:2010-10-18 14:10:40

标签: emacs terminal mouse paste macos

我在Macintosh上并使用“终端”作为我的shell。当我从任何窗口复制文本时(通过鼠标拖动然后鼠标右键菜单 - >复制)然后我将文本(鼠标右键 - >粘贴)粘贴到运行emacs的终端中,它不会作为糊。相反,它就像输入或输入文本一样。文本缩进时会出现此问题。 Emacs在其上进行自动缩进,因此我得到了层叠式楼梯状文本。我只是希望它是一个真正的“粘贴”,以便复制的任何东西都显示出来。关于如何改变某些东西以使其发挥作用的任何想法?

2 个答案:

答案 0 :(得分:18)

试试这个:

(defun pt-pbpaste ()
  "Paste data from pasteboard."
  (interactive)
  (shell-command-on-region
   (point)
   (if mark-active (mark) (point))
   "pbpaste" nil t))

(defun pt-pbcopy ()
  "Copy region to pasteboard."
  (interactive)
  (print (mark))
  (when mark-active
    (shell-command-on-region
     (point) (mark) "pbcopy")
    (kill-buffer "*Shell Command Output*")))

(global-set-key [?\C-x ?\C-y] 'pt-pbpaste)
(global-set-key [?\C-x ?\M-w] 'pt-pbcopy)

使用C-x C-y粘贴并C-x M-w进行复制。

答案 1 :(得分:2)

对于不需要配置自定义命令的快速而脏的解决方案,您可以使用前缀参数运行shell-command以将调用pbpaste的结果插入当前缓冲区。

因此:

C-u M-! pbpaste <RET>