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
.