2010-07-01 53 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) 

有用。