Использование Crtl + Backspace или Ctrl + Del добавляет удаленный текст в список уничтожений.
Как я могу предотвратить это? Мне не нужно, чтобы каждый кусочек текста отправлялся в список уничтожений при его удалении.
Дополнительный вопрос: Какова цель этой настройки по умолчанию в любом случае? :)
undo
. Хотя дикое предположение.Ответы:
Согласно документации:
Теперь давайте просмотрим исходный код:
Затем внутри документации по
kill-region
функции мы находим:Теперь, если вы хотите пойти дальше, вы можете использовать эту функцию для удаления без копирования в kill-ring:
Предоставлено ErgoEmacs
источник
Поскольку Emacs 24 без какой-либо конфигурации, вы можете удалить любой текст, не добавляя его в список уничтожений, выбрав его и нажав Backspaceили Delete. Когда метка активна, эти клавиши удаляют регион, а не просто удаляют символ перед / после курсора.
То есть перейдите к одному концу текста, который вы хотите удалить, нажмите Ctrl+ Space, перейдите к другому концу и нажмите Backspace(или Delete), чтобы удалить выделенную область. Или перейдите к одному концу, удерживайте, Shiftпока вы используете клавиши перемещения, чтобы перейти к другому концу, и нажмите Backspace.
источник
У меня была та же проблема, и я решил ее проще:
Вызов
(backward-delete-char-untabify 1 nil)
говорит Emacs об удалении назад одного символа (это1
параметр) и о том, что он воздерживается от копирования в кольцо (этоnil
параметр). Вам нужна лямбда (то есть анонимная) функция, потому что вы привязываете функцию с параметрами к ключу.источник