Follow a file as it changes
Turn on Watch for a saved file. Each time another program saves it, LeanMD loads the new version by itself, with no Reload or Keep prompt.
The Watch button, View > Watch file, or Ctrl+Shift+W
Features
LeanMD is built around Markdown, but most of a developer's day is other text: configs, logs, .env files, JSON, scripts, and files an AI is still writing. Here is everything LeanMD 1.2.4 does, beyond the preview.
Follow a file while an AI agent, a script or any other program writes it.
Turn on Watch for a saved file. Each time another program saves it, LeanMD loads the new version by itself, with no Reload or Keep prompt.
The Watch button, View > Watch file, or Ctrl+Shift+W
A solid bar marks an added line, a dashed bar a changed one, and a triangle shows where lines were deleted; hover it for the count. The status bar adds them up. Marks are in Source, and the gutter stays even with line numbers off.
Hover a triangle: 2 lines deleted here
Marks build up across saves until you clear them, so you can check one pass, clear, and check the next without missing anything that landed while you were away.
View > Clear changes, or click Watching in the status bar
Background tabs update quietly with their own marks and never steal focus. Hover a watched tab to see when it last updated and how many updates arrived.
Right-click a tab > Watch this file
While a file is watched you can still find, copy, print, export and use the Outline, but not type, so you never edit a copy that's about to be replaced. If you have unsaved edits, LeanMD offers to save them first.
Stop with Ctrl+Shift+W to edit the latest version
If the file disappears or can't be read for a moment, Watch pauses, keeps the last good text on screen and says why. It picks up again on the next change. Very large rewrites still load, with marks skipped rather than guessed.
F5 or the status bar > Retry now
Checklists in Markdown, counted and one click away.
List items that start with [ ] or [x] become boxes, in bulleted and numbered lists, nested or not.
Write - [ ] Task or - [x] Done
The Outline's Tasks view groups every task under its heading, with completed / total counts. Code-fence examples are left out.
Outline > Tasks
Headings view shows the same completed / total count next to every section that contains tasks.
Outline > Headings
Select a task to go to its line in Source and its place in Preview. Hide completed tasks to see what's left; it filters the list, never the file. LeanMD never ticks a box for you.
Outline ยทยทยท menu > Hide completed tasks
For when the tab bar is full and you need to find the file behind it.
Explorer opens on the file's folder with the file already selected. No more hunting through a path to find where the agent saved it.
Right-click a tab > Open containing folder
Puts the file's complete path on the clipboard, ready to paste into a terminal, a chat or a bug report.
Right-click a tab > Copy full path
Close every other tab, or everything to the right of this one. Middle-click a tab to close just that one.
Right-click a tab > Close all other tabs / Close tabs to the right
Double-click another file, or drag a few from Explorer onto the window, and they arrive as new tabs in the same LeanMD, not as extra copies of the app. Up to 128 tabs.
Ctrl+Tab / Ctrl+Shift+Tab to move between them
File > Recent lists your last six files. LeanMD remembers the view you used for each of your last twelve, so a file reopens in Source, Split or Preview the way you left it.
File > Recent > Clear recent files to forget them
When another program, or your AI agent, changes an open file you aren't watching, its tab gets a !. Switch to it and choose to reload or keep your version.
F5 reloads at any time
The status bar isn't just information. Click it.
Click the encoding in the status bar and pick another. LeanMD saves the file in that encoding straight away: UTF-8, UTF-8 with BOM, UTF-16 LE, UTF-16 BE, Windows-1252, Windows-1251, ISO-8859-1 or OEM 437.
Click UTF-8 (or the current encoding) in the status bar
Switch a file between Linux / Unix (LF), Windows (CRLF) and Classic Mac (CR) line endings and save it, without a separate tool.
Click LF / CRLF / CR in the status bar
If an older file opens with the wrong characters, reopen it as Unicode (automatic) or with a specific legacy code page, before you save anything.
File > Reopen with encoding
A file keeps its encoding and line endings when you save, unless you change them yourself.
Nothing to do
Tidy whitespace in one step, without touching the parts that must stay exact.
Removes trailing spaces and tabs, keeps runs of blank lines to at most two, drops blank lines at the very top, and ends the file with exactly one newline. Markdown's two-space line breaks are kept.
Format > Clean Source or Ctrl+Shift+F
YAML (---) and TOML (+++) front matter, fenced code blocks, indented code, lines indented four spaces or more, and quoted lines are never changed.
Works on any file open in LeanMD
The whole clean-up is a single step, so Ctrl+Z puts everything back at once.
Ctrl+Z
A real editor for quick fixes, not just a viewer.
Match case, match whole word, a live count of matches, previous and next, Replace and Replace all. Matches are highlighted in the preview too.
Ctrl+F, Ctrl+H, F3 / Shift+F3
Wrap the selection in bold, italic, inline code or a link, or turn lines into headings, quotes, bullet or numbered lists.
Ctrl+B Ctrl+I Ctrl+E Ctrl+K, Ctrl+Shift+1 to 3
Type the start of a word and press Ctrl+Space. LeanMD suggests matching words already in the document, so long names, paths and identifiers are typed once, plus Markdown snippets for headings, lists, code fences and links. Up to eight suggestions; works in Markdown files.
Ctrl+Space, then arrows, Enter or Esc. On or off: View > Autocomplete
Both can be switched on or off, and LeanMD remembers your choice.
View > Line numbers, View > Word wrap
Make text bigger or smaller in the source and the preview. The status bar shows the zoom level; click it to go back to 100%.
Ctrl++ / Ctrl+- / Ctrl+0, or Ctrl+wheel
The status bar always shows line, column and word count; the preview header shows the reading time.
Always on
LeanMD treats your files carefully and keeps to itself.
LeanMD writes to a temporary file, flushes it to disk, then swaps it into place. A crash or power cut mid-save can't leave you with half a file.
Every save
Unsaved tabs are copied to your own profile a moment after you stop typing. Next time LeanMD starts, it offers to restore them.
Stored in %LOCALAPPDATA%\LeanMD\Native
No telemetry, no update checks, no remote images. Links open in your browser only when you click them.
Nothing to configure
LeanMD.exe is digitally signed by iCube Development (Calgary) Ltd., so Windows can confirm who published it.
Right-click LeanMD.exe > Properties > Digital Signatures
For when someone else needs to see it.
Drag to select rendered text and copy it, just like a document.
Ctrl+A, Ctrl+C in the preview
Click a web link in the preview to open it in your browser. Nothing is fetched until you do.
Click a link in the preview
Prints the rendered page for Markdown and the plain text for everything else.
File > Print... or Ctrl+P
Saves a single, self-contained HTML file with its styles built in and no scripts, ready to email or attach. Works for plain-text files too.
File > Export as HTML...
Native in the ways that matter, portable in the ways that help.
One LeanMD.exe, no installer and no admin rights. Run it from any folder, or from a USB stick.
Extract the ZIP and run it
The first time LeanMD starts with nothing to open, it shows a short hello.md in Split with help and file-association steps. Close it and it stays closed.
Automatic, once
Register LeanMD for .md, .markdown, .mdown, .mkd and .mkdn for your own account, then pick it as the default in Windows Settings. Remove it the same way.
Help > Use LeanMD for Markdown files...
System, Light or Dark theme, a dark menu bar in dark mode, Windows high-contrast colours, and per-monitor scaling for setups with mixed displays.
View > Theme
View, theme, zoom, split position, outline width, line numbers, word wrap, autocomplete and syntax colouring are kept between sessions.
Automatic
Move between panes with F6; the preview exposes its text to screen readers through Windows UI Automation.
F6 / Shift+F6
Markdown gets the preview and the Outline. Everything else opens in the Source editor, with the same safe saving, encodings and tools.
| Kind | Examples |
|---|---|
| Markdown | .md, .markdown, .mdown, .mkd, .mkdn, with live preview up to 256 KiB |
| Text and logs | .txt, .text, .log, .nfo, README, LICENSE |
| Configuration | .ini, .cfg, .conf, .config, .properties, .env |
| Data | .json, .jsonl, .xml, .yaml, .yml, .toml, .csv, .tsv |
| Source and scripts | .c, .cpp, .h, .py, .js, .ts, .tsx, .css, .html, .sh, .bat, .cmd, .ps1, .sql, Makefile and more |
| Anything else | Any plain-text file, through Open with or File > Open with All files |
For scripts, setup tools and the curious. The first three finish without opening a window.
> LeanMD.exe --version | more # print the version (pipe it: LeanMD is a windowed app)
> LeanMD.exe --register # add LeanMD for Markdown files, this account only
> LeanMD.exe --unregister # remove that registration again
> LeanMD.exe notes.md # open a file (in the running window, if there is one)
Small app. Lots of small conveniences.
Download LeanMD 1.2.4