emacs копирует kill-ring в системный буфер обмена в новом режиме - PullRequest
10 голосов
/ 03 января 2011

Я запускаю "emacs -nw" под программой-терминатором в Ubuntu. Моя проблема, я не мог получить kill-ring в системный буфер обмена с этим. Тем не менее, все работает, если запустить в режиме X11. Не могли бы вы помочь мне с этим?

Заранее спасибо ..

1 Ответ

9 голосов
/ 03 января 2011

Emacs в режиме "nw" не связан ни с одной из библиотек X11.Из-за этого у вас нет доступа к буферу обмена X11.Другими словами, это просто невозможно само по себе. - это утилиты , которые обеспечивают доступ из командной строки к буферу обмена X11 и обратно.Вам придется написать некоторый код elisp, чтобы связать активность kill-ring с любыми инструментами командной строки, которые вы можете использовать.

Одна из таких программ, на которую вы можете посмотреть, это xclip .Получить выделение из списка уничтожений в буфер обмена будет не так сложно, как попасть из буфера обмена в список уничтожений.Это потому, что у вас есть контроль над событием, когда вы добавляете в kill-ring.Но emacs не знает, когда X11 обновит буфер обмена.Таким образом, вам, возможно, придется иметь собственную команду, а не обычную рывок из kill-ring, которая использует xclip для извлечения текущего содержимого буфера обмена.

Мне кажется, это что-то, что кто-то уже решил.Я не знаю достаточного количества элиспа, чтобы справиться с ним любым способом, или я сам покопался бы в этом.Я нашел это сообщение в блоге , которое указывает на библиотеку elisp, которая упаковывает xclip.Я не знаю, поможет ли это или нет.

Рэнди

...