Emacs: копирование текста (не убивая его) - PullRequest
26 голосов
/ 01 июля 2010

В Emacs, как мне скопировать область текста (чтобы вставить ее в другой буфер), не убивая ее (например: файл, из которого я хочу скопировать, открывается в режиме только для чтения, поэтому его удаление не вариант).

Ответы [ 3 ]

50 голосов
/ 01 июля 2010

Просто отметьте его ( C-пробел на одном конце диапазона и перейдите на другой конец) и используйте M-w (kill-ring-save):

(kill-ring-save-BEG END)

Сохраните регион как убитого, но не убивайте его.

8 голосов
/ 01 июля 2010

Два дополнительных способа:

  • Вы также можете выбрать его с помощью мыши (mouse-button-1), которая скопирует область в список уничтожений.

  • Когда буфер доступен только для чтения, вы можете использовать подпрограммы kill-* ( C-w и C-k ) для копирования области / строки в список уничтожений. Emacs подаст вам звуковой сигнал, но это задокументированная функция:

Если буфер доступен только для чтения, Emacs подайте звуковой сигнал и воздержитесь от удаления текст, но положить текст в убить Звони в любом случае. Это означает, что вы можете используйте команды убийства для копирования текста из буфера только для чтения.

1 голос
/ 02 июля 2010

Я использую команду

M-x append-to-file

проблема в том, что если файл, в который вы хотите скопировать его, открыт, вам нужно каким-то образом обновить экран, чтобы там появлялись новые данные. Кроме того, материал, который вы скопировали, перейдет в конец файла, который вы выбрали в качестве цели.

Вы также можете найти команды

M-x write-region

и

C-x i   (insert-file)

полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...