Я использую GNU Emacs 22.3.1 в Windows.
В моем Emacs я включил delete-selection-mode
, и очень полезно выбрать регион и удалить или заменить его. Но у меня есть недостаток.
Когда я пишу или нажимаю DEL поверх выделения, Emacs не только удаляет текст, но убивает (например, отправка в буфер обмена *). Это очень раздражает меня, потому что я не могу контролировать свой kill-ring (a.k.a. clipboard) и может вызвать неожиданные эффекты.
Есть способ, которым delete-selection-mode
не убивает текст, просто удаляет его? Возможно изменить исходный код ?
(*: я синхронизировал kill-ring и буфер обмена Windows, поэтому для меня (для практических целей) это одно и то же)
Редактировать [24 июня 2009 г.]
Спасибо, Дэниелпо. Даже с идеей Трея Джексона выбор все еще убивает. И я нашел причину.
Я обнаружил, что проблема не в delete-selection-mode
. Проблема в том, что когда я выбрал регион, я сделал это с помощью мыши. И никогда не предполагал, что это была мышь, которая копировала текст . С помощью команды set-mark
и клавиш со стрелками текст окончательно не уничтожается, а только удаляется.
Я отключил это поведение, написав это в моем .emacs:
(require 'delsel)
(setq mouse-drag-copy-region nil)
(global-unset-key (kbd "<mouse-2>"))
(global-unset-key (kbd "<mouse-3>"))
Спасибо за совет. Если этот метод отключения этого поведения мыши может привести к конфликтам с другими параметрами, прокомментируйте.