A terminal-based markdown editor using curses
Project description
NMdown
NMDown is a minimal terminal-based Markdown editor built with Python 3 and ncurses. It offers a clean editing experience with live syntax highlighting, autosave, and in-terminal search — all inside your terminal window.
Features
- Markdown syntax highlighting (headers, bold, italic, code, lists, links, etc.)
- Live character count in the footer
- Header/footer UI with consistent styling
- Autosave every 30 seconds with a
.bakbackup file - Flash message confirmation after autosave
- In-editor search (
Ctrl+F) with next (Ctrl+N) and previous (Ctrl+P) navigation - Safe cursor and rendering logic (handles terminal resizing and wide characters)
⌨️ Keybindings
| Key Combo | Action |
|---|---|
Ctrl+S |
Save file |
Ctrl+F |
Search |
Ctrl+N |
Next match |
Ctrl+P |
Previous match |
Esc |
Exit editor |
| Arrow Keys | Navigate cursor |
Usage
You'll be prompted to enter a filename. If the file exists, it will be loaded. If not, a new file is created.
Installation
Install via pip
pip install mnmdown
Or clone from GitHub
git clone https://github.com/bearenbey/nmdown.git
cd nmdown
pip install .
# Run
nmdown
License
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see https://www.gnu.org/licenses/.
© 2025 Eren Öğrül termapp@pm.me
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nmdown-0.1.0.tar.gz.
File metadata
- Download URL: nmdown-0.1.0.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8617f6add0f6abebda94aef4663029bf82b0e2d95e509b42545f6ec5442d6be1
|
|
| MD5 |
2585e9467a6ab4031e7d93a8e16b18df
|
|
| BLAKE2b-256 |
5eb8b0dfe234cac5c1d9f1e6be8f6250eef01000280ef498af233229edfa4b9d
|
File details
Details for the file nmdown-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nmdown-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85454d8fb803cfb4a3341c67952dbc63ef7449231bb676b9b3fd2ed2560420c5
|
|
| MD5 |
50f27f276f1472cde385f69b19efeaad
|
|
| BLAKE2b-256 |
bfd7ade6aa9062b33f516380517a91d534e57b441fccb73ff435b1193d9dea35
|