Когда я вырезаю (уничтожаю) текст в Emacs 22.1.1 (в его собственном окне в X, в KDE, в Kubuntu), я не могу вставить (выдернуть) его в любое другое приложение.
emacs
copy-paste
Memius
источник
источник
Ответы:
Будьте осторожны с нашими определениями здесь
kill-ring-save
( как правило , связаны с M-w).yank
(обычно привязанная к C-y).В моем случае (в GNOME):
Чтобы системное копирование работало с пастой Emacs, а копирование Emacs работало с системной вставкой, вам нужно добавить
(setq x-select-enable-clipboard t)
в ваш.emacs
. Или попробуйтеЯ думаю, что это довольно стандартное поведение современных Unix.
Также важно отметить (хотя вы говорите, что используете Emacs в отдельном окне), что, когда Emacs работает в консоли, он полностью отделен от системы и X-буфера обмена: вырезание и вставка в этом случае осуществляется через терминал . Например, «Правка-> Вставить» в окне вашего терминала должно действовать точно так же, как если бы вы ввели текст из буфера обмена в буфер Emacs.
источник
META-X set-variable RET select-enable-clipboard RET t
или(setq select-enable-clipboard t)
Вставьте в свой
.emacs
файл следующее:источник
emacs -nw
, я использую собственные ярлыки терминала; Shift-Ctrl-X для вырезания (уничтожения) текста и Shift-Ctrl-C для копирования.emacs -nw
окно tmux, разделенное по горизонтали.Я вставляю это в свой .emacs:
Впоследствии у меня практически не возникало проблем с вырезанием и вставкой туда и обратно чего-либо из Emacs в любое другое приложение X11 или Gnome.
Бонус: чтобы все это происходило в Emacs без необходимости перезагружать весь ваш .emacs, выполните Cx Ce с курсором сразу после закрывающего элемента каждого из этих выражений в буфере .emacs.
Удачи!
источник
Symbol’s function definition is void: x-cut-buffer-or-selection-value
Сложность копирования и вставки в Emacs заключается в том, что вы хотите, чтобы он работал независимо от внутреннего kill / yank, и вы хотите, чтобы он работал как в терминале, так и в графическом интерфейсе. Существуют надежные решения для терминала или графического интерфейса, но не для обоих. После установки xsel (например
sudo apt-get install xsel
) вот что я делаю для копирования и вставки, чтобы объединить их:источник
Я предполагаю, что под emacs вы имеете в виду Emacs под X (т.е. не внутри окна терминала).
Есть два способа:
Доступны операции с буфером обмена:
источник
Есть статья EmacsWiki, в которой объясняются некоторые проблемы с копированием и вставкой в X и как настроить его для работы.
источник
Это работает с
M-w
Mac OSX. Просто добавьте в свой файл .emacs .Источник https://gist.github.com/the-kenny/267162
источник
В приведенном ниже коде, вдохновленном ответом @ RussellStewart выше, добавлена поддержка x-PRIMARY и x-SECONDARY, заменяется
region-active-p
на,use-region-p
чтобы охватить случай пустой области, не возвращается тихо, если xsel не был установлен (возвращает сообщение об ошибке), и включает функцию "вырезания" (emacs Cy, windows Cx).источник
Я использую следующее, основанное на других ответах здесь, для создания
C-x C-w
иC-x C-y
копирования и вставки как на Mac, так и на Linux (если кто-то знает версию для Windows, не стесняйтесь добавлять ее). Обратите внимание, что в Linux вам нужно будет установить xsel и xclip с вашим менеджером пакетов.источник
xclip
для вставки содержимого буфера обмена с помощьюxclip -o
. Это может быть полезно для людей, которые уже установилиxclip
и не хотят устанавливать другую программу для копирования и вставки.Хм, какую платформу и какую версию emacs вы используете? С GNU Emacs 22.1.1 в Windows Vista он отлично работает.
Если по какой-то причине вы делаете это из Windows в Linux через программу просмотра RealVNC, убедитесь, что вы сначала запускаете "vncconfig -iconic" в окне Linux ...
источник
Я всегда использую быструю вставку - перетащите выделение в emacs, нажмите среднюю кнопку мыши в целевом окне.
(Из ссылки на Кейт, я так понимаю, вы используете Linux или что-то подобное и, вероятно, так или иначе используете emacs в X.)
источник
Вы можете указать, какую платформу вы используете. Это на linux, unix, macosx, windows, ms-dos?
Я считаю, что для окон это должно работать. Для MacOSX он будет добавлен в буфер обмена x-windows, что не то же самое, что буфер обмена macosx. Для Linux это зависит от вашего вкуса оконного менеджера, но я считаю, что x-windows прекрасно справляется с этим в большинстве из них.
Итак, уточните.
источник
Что я делаю, так это использую хороший терминал (PuTTY в Windows, Konsole или Terminal в Linux), который имеет встроенные средства копирования.
В PuTTY вы выделяете нужный текст с помощью мыши, а затем вставляете его в другое место. Щелчок правой кнопкой мыши в окне PuTTY вставляет содержимое буфера копирования / вставки Windows.
В Konsole или терминале в Linux вы выделяете то, что хотите, затем нажимаете Shift + Ctrl + C для копирования и Shift + Ctrl + V для вставки.
В Win32-компиляции emacs, дергающий текст помещает его в буфер копирования / вставки .. большую часть времени.
В Mac OS X комбинации клавиш Apple работают нормально, потому что Терминал их перехватывает.
Прямого способа сделать это из командной строки нет, поскольку оболочка не поддерживает буфер копирования / вставки для каждого приложения. Баш делает сохранить копию / вставить буфер для себя, и, по умолчанию, EMACS ^ к / ^ у ярлыков работы.
источник