我在 Macintosh 上,我的 shell 使用“终端”。当我从任何窗口复制文本(通过鼠标拖动然后鼠标右键菜单-> 复制)然后我将文本(鼠标右键-> 粘贴)粘贴到运行 emacs 的终端中时,它不会充当粘贴。相反,它就像输入或输入文本一样。文本缩进时会出现问题。Emacs 在此基础上进行自动缩进,因此我得到了层叠的阶梯状文本外观。我只是希望它是一个真正的“粘贴”,以便复制的任何内容都能完全按照原样显示。有关如何更改某些内容以使其正常工作的任何想法?
问问题
2562 次
2 回答
18
Try this:
(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)
Use C-x C-y
to paste and C-x M-w
to copy.
于 2010-10-18T20:44:01.993 回答
2
对于不需要配置自定义命令的快速而肮脏的解决方案,您可以shell-command
使用前缀参数运行以将调用结果插入pbpaste
当前缓冲区。
因此:
C-u M-! pbpaste <RET>
于 2014-11-20T19:05:55.167 回答