Emacs. Пробелы
2025-04-11
·
2 мин. для прочтения
Emacs. Работа с пробелами.
Содержание
1 Удаление пробелов
1.1 stripspace
1.1.1 Общая информация
- Репозиторий: https://github.com/jamescherti/stripspace.el
- Реализуется
stripspace-local-mode, которая обеспечивает удаление конечных пробелов перед сохранением буфера.
1.1.2 Функционирование
- Перед сохранением буфера: автоматически удаляет все конечные пробелы.
- После сохранения буфера: восстанавливает позицию столбца курсора на текущей строке, включая любые пробелы перед курсором.
- Это обеспечивает единообразие редактирования и предотвращает непреднамеренное перемещение курсора при сохранении буфера и удалении конечных пробелов.
- Это поведение может контролироваться переменной
stripspace-restore-column(по умолчанию:t).
- Даже если буфер сужен, stripspace удаляет конечные пробелы из всего буфера.
- Это поведение, контролируется переменной
stripspace-ignore-restrictions(по умолчанию:t).
- Это поведение, контролируется переменной
- Дополнительная функция
stripspace-only-if-initially-clean(по умолчанию:nil) указывает stripspace удалять пробелы только тогда, когда буфер изначально чист (если установлена в ненулевое значение).- Проверка чистоты буфера оптимизируется с помощью одного поиска регулярного выражения для конечных пробелов и другого для пустых строк.
- Переменная
stripspace-verbose(если она не равнаnil) показывает в минибуфере, были ли удалены конечные пробелы или, если нет, указывает причину их сохранения. - Функции удаления пробелов настраиваются, что позволяет пользователю указать собственную функцию для удаления конечных пробелов из текущего буфера.
- Переменная
stripspace-clean-functionпозволяет указать функцию для удаления конечных пробелов из текущего буфера.- Эта функция вызывается для устранения любых лишних пробелов или табуляций в конце строк.
- Например, это может быть установлено для встроенной функции, такой как
delete-trailing-whitespace(по умолчанию) илиwhitespace-cleanup.