Trim Whitespace

by Zack Lovatt
5
4
3
2
1
Score: 59/100

Description

Category: Productivity Tools

The Trim Whitespace plugin enhances the editing experience in Obsidian by removing unnecessary blank spaces, tabs, and lines from documents. It operates on trailing, leading, and multiple whitespace types, offering cleaner and more organized content. Users can trim specific sections or entire documents, with settings that allow customization, such as preserving code blocks or indented lists. The plugin includes commands for manual and selection-based trimming, as well as options for auto-trimming after modifications with a configurable delay. A ribbon button is also provided for quick access.

Reviews

No reviews yet.

Stats

61
stars
14,551
downloads
4
forks
1,388
days
157
days
157
days
15
total PRs
0
open PRs
0
closed PRs
15
merged PRs
28
total issues
9
open issues
19
closed issues
0
commits

README file from

Github

Trim Whitespace

Obsidian Downloads GitHub stars

Trim Whitespace trims unnecessary blank characters from your Obsidian documents. This is a common feature in code editing software, and mostly exists to pare down irksome document clutter.


Features

The plugin operates on three different types of whitespace, with three different targets.

Whitespace Types

  1. Spaces - The space character, ( , stylised as ·)
  2. Tabs - The tab character, (\t or , stylised as )
  3. Lines - Newline character, either, (\r or \n, stylised as ¬)

Targets

Trailing

Trim whitespace at the end of each line, or open document.

Before After
Hello·World!···· Hello·World!
Hello·World!→→→ Hello·World!
# Hello¬¬World!¬¬¬ # Hello¬¬World!¬
Leading

Trim whitespace at the start of each line, or open document.

Before After
····Hello·World! Hello·World!
→→→Hello·World! Hello·World!
¬¬# Hello¬¬World!¬ # Hello¬¬World!¬
Multiple

Trim groups of whitespace (2 or more consecutive inline spaces/tabs, or consecutive lines)

Before After
Hello···World! Hello·World!
Hello→→→World! Hello→World!
# Hello¬¬¬World!¬¬¬ # Hello¬¬World!¬

Commands

  • Trim whitespace in document trims all whitespace in the active document, according to the settings below
  • Trim whitespace in selection trims all whitespace in the selected region in the active document, according to the settings below

Trim Whitespace also adds a ribbon button to trim document whitespace. Hold shift when clicking the button to trim whitespace in selection instead.


Settings

Name Description
Trim on Manual Save Manually trim document with CTRL / CMD + S
Auto-Trim Automatically trim document when modified, according to the settings below.
Auto-Trim Delay Time to wait in seconds before auto-trimming.
Preserve Code Blocks Whether to preserve whitespace within code blocks.
Trim Trailing Spaces Trim spaces at the end of each line.
Trim Trailing Tabs Trim tabs at the end of each line.
Trim Trailing Lines Trim empty lines at the end of the document.
Preserve Indented Lists Whether to preserve whitespace if used for list indentation.
Trim Leading Spaces Trim spaces at the start of each line.
Trim Leading Tabs Trim tabs at the start of each line.
Trim Leading Lines Trim lines at the start of the document.
Trim Multiple Spaces Trim groups of multiple inline spaces.
Trim Multiple Tabs Trim groups of multiple inline tabs.
Trim Multiple Lines Trim groups of multiple blank lines.

Installation

To install, either:

  1. Download from the Obsidian Community Plugin library, or
  2. Install manually with the zip in Releases

Known Bugs

  • Trimming the whole document doesn't reset cursor position properly, if the original location started before the first non-space character in the document.

Contribution

Want to help develop or maintain this plugin? Please do! PRs and input extremely welcome!


Credit Due

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.