【问题标题】:Pasting text into emacs on Macintosh在 Macintosh 上将文本粘贴到 emacs
【发布时间】:2011-04-26 23:29:41
【问题描述】:

我在 Macintosh 上,我的 shell 使用“终端”。当我从任何窗口复制文本(通过鼠标拖动然后鼠标右键菜单-> 复制)然后我将文本(鼠标右键-> 粘贴)粘贴到运行 emacs 的终端中时,它不会充当粘贴。相反,它就像输入或输入文本一样。文本缩进时会出现问题。 Emacs 会在此基础上进行自动缩进,因此我得到了层叠的阶梯状文本外观。我只是希望它是一个真正的“粘贴”,以便复制的任何内容都能完全按照原样显示。有关如何更改某些内容以使其正常工作的任何想法?

【问题讨论】:

  • 我不确定您希望它如何工作。文本终端没有“粘贴”。 Terminal.app 通过在剪贴板上输入所有字符来实现粘贴。如果您希望粘贴以不同的方式工作,请不要在文本终端中运行程序。

标签: emacs terminal mouse paste macos


【解决方案1】:

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

因此:

C-u M-! pbpaste <RET>

【讨论】:

    【解决方案2】:

    试试这个:

    (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 进行复制。

    【讨论】:

    • 这里的 C 代表键盘中的“Control 或 Ctrl”键吗?
    猜你喜欢
    • 2014-05-04
    • 2012-04-16
    • 2018-11-14
    • 2023-03-29
    • 1970-01-01
    • 2021-08-14
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多