Изменено поведение Emacs yank - как вернуть прежнее поведение? - PullRequest
0 голосов
/ 05 мая 2020

Это Linux (Ubuntu), работа с emacs -nw в xterm. GNU Emacs 26.3

До недавнего времени у меня было два доступных механизма копирования и вставки:

  1. убить некоторый текст с помощью ^ K (kill-line), это будет go, чтобы кольцо уничтожения и может быть получено с помощью ^ Y (yank)

  2. выберите текст, возможно, в другом окне, может быть, в emacs или firefox, используя левую мышь кнопка, он будет go в некоторый буфер выбора X и может быть получен с помощью средней кнопки мыши.

Эти два канала работали полностью независимо друг от друга.

В настоящее время вставка выделения мыши загрязняет kill-ring emacs, или, по крайней мере, после вставки мышью некоторого текста, yank также вставляет тот же самый текст.

Как я могу снова научить emacs не менять kill-ring и использовать неизменное кольцо убийства при рывке, независимо от вставки мыши? Я пробовал несколько комбинаций (setq select-enable-clipboard t) и (setq select-enable-primary nil), но безуспешно .emacs заклинание.

1 Ответ

0 голосов
/ 24 мая 2020

Попробуйте

(setq interprogram-paste-function (lambda () nil))

Если вы что-то добавили в буфер обмена X11, yank попытается вставить это вместо вершины списка уничтожений, используя interprogram-paste-function. Если i-p-f возвращает nil, он будет использовать верхнюю часть kill-ring.

Когда я запускаю терминал Emacs, gui-selection-value всегда возвращает nil в любом случае, поэтому я не уверен, почему ваш не делает.


Если посмотреть на источник, (setq select-enable-clipboard nil select-enable-primary nil) должен дать тот же результат.

...