【问题标题】:Emacs: copying text (without killing it)Emacs:复制文本(不杀死它)
【发布时间】:2011-10-16 22:56:56
【问题描述】:

在 Emacs 中,如何复制文本区域(将其粘贴到另一个缓冲区)而不杀死它(例如:我要复制的文件以只读模式打开,所以杀死它不是一个选项)。

【问题讨论】:

标签: emacs


【解决方案1】:

只需标记它(C-space 在范围的一端,然后移动到另一端)并使用 M-w (kill-ring-save):

(杀死环保存BEG END)

像被杀死一样保存该区域,但不要杀死它。

【讨论】:

    【解决方案2】:

    另外两种方式:

    • 您也可以使用鼠标 (mouse-button-1) 选择它,这会将区域复制到杀伤环。

    • 当缓冲区为只读时,您可以使用kill-* 例程(C-wC-k)将区域/行复制到 kill戒指。 Emacs 会提示您,但这是一个记录在案的功能:

    如果缓冲区是只读的,Emacs 将 发出哔声并避免删除 文本,但将文本放在 kill 中 无论如何响。这意味着您可以 使用杀戮命令复制文本 来自只读缓冲区。

    【讨论】:

    • 选择到剪贴板行为在 X11 中有效,但我相信这是因为它是 X11 行为。或者它也适用于其他环境?
    • @dmckee 与 X 的交互与 kill-ring 无关。您可以在没有杀戮环的情况下复制到 X,也可以在没有 X 的情况下将东西放在杀戮环上。但是,通常它们是挂钩的。我只是描述了 Emacs 的行为,不管你是否在 X 中,它都有效。
    【解决方案3】:

    我使用命令

    M-x append-to-file
    

    问题在于,如果要复制到的文件已打开,则需要以某种方式刷新屏幕,以便新内容出现在那里。此外,您复制的内容将转到您选择作为目标的文件的末尾。

    您可能还会找到命令

    M-x write-region
    

    C-x i   (insert-file)
    

    有用。

    【讨论】:

      猜你喜欢
      • 2013-12-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多