mark@arch:~/projects/mste
← cd ~/projects mste cover

markart25/mste

a simple terminal text editor, similar to nano but with line number gutter and less bloated and some cool other stuff

Python 26 commits 0 stars updated 12 May 2026
view on github ↗

README.md — rendered from the repo

mste (mark's simple text editor)

A small nano-like terminal text editor written in Python using the standard library curses module. Zero dependencies. in my opinion it is better than nano. unlike nano mste has themes from terminal colours see below

Desktop Screenshot Desktop Screenshot Desktop Screenshot

btw for the hyprland configs head to https://github.com/markart25/markdots a detailed install guide is included

Features

Install

From source

git clone https://github.com/markart25/mste.git
cd mste
pip install --user .

This puts a mste command on your $PATH.

Arch Linux (AUR) (currently a version behind ill fix later today)

yay -S mste

Usage

mste              # start with empty buffer
mste notes.txt    # open a file

Keybindings

Key Action
Ctrl-S Save
Ctrl-O Save As
Ctrl-X Quit
Ctrl-A Select all
Ctrl-Z Undo
Ctrl-Y Redo
Ctrl-K Cut line / selection
Ctrl-U Paste
Ctrl-W Search
Ctrl-G Help

Configuration

On first launch, mste creates a config file at ~/.config/mste/config.conf (or $XDG_CONFIG_HOME/mste/config.conf if set). Edit it and restart mste to apply changes.

Colors are indices into your terminal's ANSI palette (0–15) so they retint automatically with tools like pywal. Use -1 for "terminal default".

[colors]
title_bg = 1
title_fg = 0
status_bg = 1
status_fg = 0
gutter_bg = -1
gutter_fg = -1
gutter_current = 1
selection_bg = 6
selection_fg = 0

License

MIT