Подтвердить что ты не робот

Emacs: копирование текста (без его убийства)

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

4b9b3361

Ответ 1

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

(kill-ring-save BEG END)

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

Ответ 2

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

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

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

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

Ответ 3

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

M-x append-to-file

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

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

M-x write-region

и

C-x i   (insert-file)

полезно.