Fixes #63: Add trailing whitespace cleanup
This commit is contained in:
33
README.md
33
README.md
@@ -51,6 +51,7 @@ In addition to *minimal-emacs.d*, startup speed is influenced by your computer's
|
|||||||
- [How to enable the menu-bar, the tool-bar, dialogs, the contextual menu, and tooltips?](#how-to-enable-the-menu-bar-the-tool-bar-dialogs-the-contextual-menu-and-tooltips)
|
- [How to enable the menu-bar, the tool-bar, dialogs, the contextual menu, and tooltips?](#how-to-enable-the-menu-bar-the-tool-bar-dialogs-the-contextual-menu-and-tooltips)
|
||||||
- [Customizations: Packages (post-init.el)](#customizations-packages-post-initel)
|
- [Customizations: Packages (post-init.el)](#customizations-packages-post-initel)
|
||||||
- [Optimization: Native Compilation](#optimization-native-compilation)
|
- [Optimization: Native Compilation](#optimization-native-compilation)
|
||||||
|
- [Automatic removal of trailing whitespace on save](#automatic-removal-of-trailing-whitespace-on-save)
|
||||||
- [How to activate recentf, savehist, saveplace, and auto-revert?](#how-to-activate-recentf-savehist-saveplace-and-auto-revert)
|
- [How to activate recentf, savehist, saveplace, and auto-revert?](#how-to-activate-recentf-savehist-saveplace-and-auto-revert)
|
||||||
- [Activating autosave](#activating-autosave)
|
- [Activating autosave](#activating-autosave)
|
||||||
- [auto-save-mode (Prevent data loss in case of crashes)](#auto-save-mode-prevent-data-loss-in-case-of-crashes)
|
- [auto-save-mode (Prevent data loss in case of crashes)](#auto-save-mode-prevent-data-loss-in-case-of-crashes)
|
||||||
@@ -226,6 +227,38 @@ Native compilation enhances Emacs performance by converting Elisp code into nati
|
|||||||
(compile-angel-on-load-mode))
|
(compile-angel-on-load-mode))
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Automatic removal of trailing whitespace on save
|
||||||
|
|
||||||
|
**Trailing whitespace** refers to any spaces or tabs that appear after the last non-whitespace character on a line. These characters have no semantic value and can lead to unnecessary diffs in version control, inconsistent formatting, or visual clutter. Removing them improves code clarity and consistency.
|
||||||
|
|
||||||
|
The **stripspace** Emacs package provides `stripspace-local-mode`, a minor mode that automatically removes trailing whitespace and blank lines at the end of the buffer when saving.
|
||||||
|
|
||||||
|
To enable **stripspace** and automatically delete trailing whitespace, add the following configuration to `~/.emacs.d/post-init.el`:
|
||||||
|
```elisp
|
||||||
|
(use-package stripspace
|
||||||
|
:ensure t
|
||||||
|
|
||||||
|
;; Enable for prog-mode-hook, text-mode-hook, conf-mode-hook
|
||||||
|
:hook ((prog-mode . stripspace-local-mode)
|
||||||
|
(text-mode . stripspace-local-mode)
|
||||||
|
(conf-mode . stripspace-local-mode))
|
||||||
|
|
||||||
|
:custom
|
||||||
|
;; The `stripspace-only-if-initially-clean' option:
|
||||||
|
;; - nil to always delete trailing whitespace.
|
||||||
|
;; - Non-nil to only delete whitespace when the buffer is clean initially.
|
||||||
|
;; (The initial cleanliness check is performed when `stripspace-local-mode'
|
||||||
|
;; is enabled.)
|
||||||
|
(stripspace-only-if-initially-clean nil)
|
||||||
|
|
||||||
|
;; Enabling `stripspace-restore-column' preserves the cursor's column position
|
||||||
|
;; even after stripping spaces. This is useful in scenarios where you add
|
||||||
|
;; extra spaces and then save the file. Although the spaces are removed in the
|
||||||
|
;; saved file, the cursor remains in the same position, ensuring a consistent
|
||||||
|
;; editing experience without affecting cursor placement.
|
||||||
|
(stripspace-restore-column t))
|
||||||
|
```
|
||||||
|
|
||||||
### How to activate recentf, savehist, saveplace, and auto-revert?
|
### How to activate recentf, savehist, saveplace, and auto-revert?
|
||||||
|
|
||||||
The recentf, savehist, saveplace, and auto-revert built-in packages are already configured by *minimal-emacs.d*. All you need to do is activate them by adding the following to `~/.emacs.d/post-init.el`:
|
The recentf, savehist, saveplace, and auto-revert built-in packages are already configured by *minimal-emacs.d*. All you need to do is activate them by adding the following to `~/.emacs.d/post-init.el`:
|
||||||
|
|||||||
Reference in New Issue
Block a user