Удаление означает удаление части текста в буфере без сохранения ее в кольце отмены (см. Кольцо отмены). Удаленный текст нельзя вставить, но его можно повторно вставить с помощью механизма отмены (см. Отмена). Некоторые функции удаления сохраняют текст в кольце отмены в некоторых особых случаях.
Все функции удаления работают с текущим буфером.
Эта функция удаляет весь текст текущего буфера (не только доступную часть), оставляя его пустым. Если буфер доступен только для чтения, она выдает ошибку buffer-read-only; если часть текста в нем доступна только для чтения, она выдает ошибку text-read-only. В противном случае она удаляет текст без запроса подтверждения. Она возвращает nil.
Обычно удаление большого объема текста из буфера препятствует дальнейшей автоматической сохранению этого буфера, поскольку он уменьшился. Однако erase-buffer не делает этого; идея в том, что будущий текст не связан с предыдущим текстом, и его размер не должен сравниваться с размером предыдущего текста.
Эта команда удаляет текст между позициями start и end в текущем буфере и возвращает nil. Если точка находилась внутри удаленной области, ее значение после этого становится start. В противном случае точка перемещается вместе с окружающим текстом, как и маркеры.
Эта функция удаляет текст между позициями start и end в текущем буфере и возвращает строку, содержащую только что удаленный текст.
Если точка находилась внутри удаленной области, ее значение после этого становится start. В противном случае точка перемещается вместе с окружающим текстом, как и маркеры.
Эта команда удаляет count символов непосредственно после точки или перед точкой, если count отрицателен. Если killp не равно nil, то удаленные символы сохраняются в кольце отмены.
В интерактивном вызове count является числовым префиксным аргументом, а killp — необработанным префиксным аргументом. Таким образом, если предоставляется префиксный аргумент, текст сохраняется в кольце отмены. Если префиксный аргумент не предоставляется, удаляется один символ, но он не сохраняется в кольце отмены.
Возвращаемое значение всегда nil.
Эта команда удаляет count символов непосредственно перед точкой или после точки, если count отрицателен. Если killp не равно nil, то удаленные символы сохраняются в кольце отмены.
В интерактивном вызове count является числовым префиксным аргументом, а killp — необработанным префиксным аргументом. Таким образом, если предоставляется префиксный аргумент, текст сохраняется в кольце отмены. Если префиксный аргумент не предоставляется, удаляется один символ, но он не сохраняется в кольце отмены.
Возвращаемое значение всегда nil.
Эта команда удаляет count символов назад, заменяя табуляции пробелами. Когда следующий символ для удаления является табуляцией, он сначала заменяется соответствующим количеством пробелов для сохранения выравнивания, а затем вместо табуляции удаляется один из этих пробелов. Если killp не равно nil, то команда сохраняет удаленные символы в кольце отмены.
Преобразование табуляций в пробелы происходит только в том случае, если count положительно. Если оно отрицательно, удаляется ровно −count символов после точки.
В интерактивном вызове count является числовым префиксным аргументом, а killp — необработанным префиксным аргументом. Таким образом, если предоставляется префиксный аргумент, текст сохраняется в кольце отмены. Если префиксный аргумент не предоставляется, удаляется один символ, но он не сохраняется в кольце отмены.
Возвращаемое значение всегда nil.
Эта опция определяет, как backward-delete-char-untabify должен обрабатывать пробельные символы. Возможные значения включают untabify, по умолчанию, что означает преобразование табуляции в несколько пробелов и удаление одного; hungry, что означает удаление всех табуляций и пробелов перед точкой одной командой; all, что означает удаление всех табуляций, пробелов и переводов строк перед точкой, и nil, что означает отсутствие специальной обработки для пробельных символов.