Удаление текста
Удаление означает удаление части текста в буфере без сохранения его в кольце обмена (см. Кольцо обмена). Удаленный текст нельзя восстановить, но его можно вставить заново с помощью механизма отмены (см. Отмена). Некоторые функции удаления сохраняют текст в кольце обмена в некоторых особых случаях.
Все функции удаления работают с текущим буфером.
- Команда: erase-buffer
-
Эта функция удаляет весь текст текущего буфера (не только доступную часть), оставляя его пустым. Если буфер только для чтения, он сигнализирует об ошибке
buffer-read-only; если часть текста в нем только для чтения, он сигнализирует об ошибкеtext-read-only. В противном случае он удаляет текст без запроса подтверждения. Он возвращаетnil.Обычно удаление большого количества текста из буфера препятствует дальнейшему автоматическому сохранению этого буфера, так как он уменьшился. Однако
erase-bufferне делает этого, идея в том, что будущий текст не имеет прямого отношения к предыдущему тексту, и его размер не следует сравнивать с размером предыдущего текста.
- Команда: delete-region start end
Эта команда удаляет текст между позициями start и end в текущем буфере и возвращает
nil. Если точка находилась внутри удаляемого региона, ее значение после этого будет start. В противном случае точка перемещается вместе с окружающим текстом, как и маркеры.
- Функция: delete-and-extract-region start end
-
Эта функция удаляет текст между позициями start и end в текущем буфере и возвращает строку, содержащую только что удаленный текст.
Если точка находилась внутри удаляемого региона, ее значение после этого будет start. В противном случае точка перемещается вместе с окружающим текстом, как и маркеры.
- Команда: delete-char count &optional killp
-
Эта команда удаляет count символов непосредственно после точки или перед точкой, если count отрицательно. Если killp не равно
nil, то она сохраняет удаленные символы в кольце обмена.В интерактивном вызове count — это числовой префиксный аргумент, а killp — непроцессированный префиксный аргумент. Следовательно, если префиксный аргумент указан, текст сохраняется в кольце обмена. Если префиксный аргумент не указан, то удаляется один символ, но не сохраняется в кольце обмена.
Возвращаемое значение всегда
nil.
- Команда: delete-backward-char count &optional killp
-
Эта команда удаляет count символов непосредственно перед точкой или после точки, если count отрицательно. Если killp не равно
nil, то она сохраняет удаленные символы в кольце обмена.В интерактивном вызове count — это числовой префиксный аргумент, а killp — непроцессированный префиксный аргумент. Следовательно, если префиксный аргумент указан, текст сохраняется в кольце обмена. Если префиксный аргумент не указан, то удаляется один символ, но не сохраняется в кольце обмена.
Возвращаемое значение всегда
nil.
- Команда: backward-delete-char-untabify count &optional killp
-
Эта команда удаляет count символов назад, преобразуя табуляции в пробелы. Когда следующий символ для удаления — табуляция, он сначала заменяется соответствующим количеством пробелов для сохранения выравнивания, а затем удаляется один из этих пробелов вместо табуляции.
Если killp не равно
nil, то команда сохраняет удаленные символы в кольце обмена.Преобразование табуляций в пробелы происходит только если count положительно. Если оно отрицательно, то точно -count символов после точки удаляются.
В интерактивном вызове count — это числовой префиксный аргумент, а killp — непроцессированный префиксный аргумент. Следовательно, если префиксный аргумент указан, текст сохраняется в кольце обмена. Если префиксный аргумент не указан, то удаляется один символ, но не сохраняется в кольце обмена.
Возвращаемое значение всегда
nil.
- Пользовательский параметр: backward-delete-char-untabify-method
Этот параметр определяет, как
backward-delete-char-untabifyдолжен обрабатывать пробелы. Возможные значения включаютuntabify, значение по умолчанию, означающее преобразование табуляции во многие пробелы и удаление одного;hungry, означающее удаление всех табуляций и пробелов перед точкой одной командой;all, означающее удаление всех табуляций, пробелов и новых строк перед точкой, иnil, означающее ничего особенного для символов пробелов.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Deletion.html