Использование буфера обмена X11 в экземпляре Emacs внутри gnome-терминала
Я использую Emacs 24.5.1 из терминала Gnome в Arch Linux. Когда я копирую текст из окна терминала Gnome (из любого другого окна X, например, Firefox), он не доступен в kill-ring Emacs. я пытался (setq x-select-enable-clipboard t)
но безрезультатно.
Я также попробовал это решение, которое не сработало.
Примечание: эта функциональность работает, когда Emacs запускается графически; У меня проблема только когда я запускаю Emacs внутри окна терминала.
1 ответ
Разрабатываемая версия Emacs поддерживает так называемые escape-последовательности OSC-52, которые поддерживаются некоторыми терминалами, чтобы позволить приложениям, работающим внутри терминала, получать доступ к буферу обмена.
К сожалению, эта функция OSC-52 может быть (как в настоящее время разработано в xterms) несколько опасной в некоторых ситуациях (например, если вы отображаете, через cat
в вашем терминале файл, написанный кем-то другим), поэтому в большинстве дистрибутивов эта функция по умолчанию отключена.
Но, по крайней мере, для меня, при тестировании Debian, запуск Emacs-25 внутри xterm -xrm '*.allowWindowOps: true'
позвольте мне установить буфер обмена X через C-k
как будто Emacs работал в режиме графического интерфейса.
Emacs также поддерживает направление, которое вы хотите (то есть делает C-y
в Emacs получить текст из буфера обмена X), вам придется дополнительно добавить getSelection
на ваш xterm-extra-capabilities
в вашем ~/.emacs
,