2010-07-01 52 views
23

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

+0

这不是超级用户的问题吗? (http://superuser.com/) – Chetan 2010-07-01 14:05:05

+0

也许,但查看过多的emacs标签http://stackoverflow.com/questions/tagged/emacs在SO和SU http://superuser.com/questions/tagged/emacs – 2010-07-01 14:15:27

+0

Emacs的问题很棘手,请参阅http://meta.stackexchange.com/questions/36017/what-site-should-host-questions-about-emacs-keybinding在略有不同的上下文中进行一些讨论。 – dmckee 2010-07-01 15:04:23

回答

47

只需将其标记(C-空间在该范围的一端,并移动到另一端),并且使用Mw为kill-ring-save):

(杀环的保存BEG END )

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

8

另外两个方面:

  • 您也可以用鼠标(鼠标按钮-1),这将在区域复制到杀戒选择它。

  • 当只读缓冲器,则可以使用kill-*例程(C-瓦特C-K)到该区域/线复制到剪切环。 Emacs会发出蜂鸣声在你,但它是一个记录功能:

如果缓冲区是只读的,Emacs会 蜂鸣声和删除 文本避免,但把文字在击杀 环无论如何。这意味着您可以使用查杀命令 从只读缓冲区复制文本 。

+0

选择剪贴板行为在X11中起作用,但我认为这是因为它是X11行为。或者它在其他情况下也可以工作? – dmckee 2011-10-16 16:05:55

+0

@dmckee与X的交互独立于杀戒。你可以复制到X w/out杀戒,并且你可以把杀死戒指放到X上。但是,通常他们被连接在一起。我只是描述了Emacs的行为,无论你是否在X中,它都能正常工作。 – 2011-10-16 17:08:44

0

我用命令

M-x append-to-file 

这个问题是如果文件要复制它是开放的,你将需要以某种方式刷新屏幕,使新的东西在那里出现。此外,您复制的内容将转到您选择的目标文件的末尾。

您也可能会发现命令

M-x write-region 

C-x i (insert-file) 

有用。