Я использую GNU Emacs 22.3.1 в Windows.
В моем Emacs я включил delete-selection-mode
, и очень удобно выбирать регион и удалять или заменять его. Но у меня есть недостаток.
Когда я пишу или нажимаю DEL над выделенным фрагментом, Emacs не только удаляет текст, но и уничтожает (то есть отправляет в буфер обмена*). Меня это очень раздражает, потому что я не контролирую свой список убийств (также известный как буфер обмена) и могу вызвать неожиданные эффекты.
Есть способ, что 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>"))
Спасибо за совет. Если этот метод отключения этого поведения мыши может вызвать конфликты с другими параметрами, пожалуйста, прокомментируйте.