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