Skip to main content

KISS editor preview

KISSkeep it simple, stupid.

A small terminal editor built with Textual. It opens files and folders, with syntax highlighting, a file tree and undo/redo. Just an editor — no LSP, no plugins, no ambitions to become an IDE.


About

What Why
Textual framework A modern Python TUI framework — no curses
Minimal feature set Editing files first; LSP and plugins aren't a priority right now
Fast startup Comfortable to reach for as your default editor

Status

KISS is early-stage software. It's not a replacement for nano or vim — just a small editor that tries to stay simple and useful. Some things are still missing (see TODO).


Install

via package managers:

[uv tool / pipx] install kiss-editor

or from source (requires Python 3.12+ and uv):

git clone https://github.com/levk-m/kiss.git
cd kiss
uv sync
uv run kiss

Or run directly without cloning:

uvx kiss-editor

Usage

kiss <file>         Edit a file
kiss <dir>          Browse a directory
kiss .              Open current directory

Features

  • File tree — browse and open files from the sidebar
  • Syntax highlighting — auto-detected, Dracula by default
  • Command palette (Ctrl+P) — fuzzy-find files, switch themes
  • Undo / RedoCtrl+Z / Ctrl+Y
  • Clipboard — cut, copy, paste (Ctrl+X/C/V)
  • Line numbers, word wrap, cursor line highlight
  • Config~/.kiss_conf.json, open with Ctrl+O
  • Help dialogCtrl+H
  • Splash screen — pyfiglet logo on startup
  • Status bar — shows filename, unsaved changes (*), focus mode

Keybindings

Navigation

Key Action
Arrows Move cursor
Home / Ctrl+A Go to line start
End / Ctrl+E Go to line end
PgUp / Ctrl+PgUp Page up
PgDn / Ctrl+PgDn Page down
Ctrl+Left / Ctrl+Right Page left / right
Alt+Left Word start
Alt+Right Word end

Selection

Key Action
Shift+Arrows Select character / line
Shift+Home Select to line start
Shift+End Select to line end
Shift+PgUp / Shift+PgDn Select page up / down
F6 Select current line
F7 Select all

Editing

Key Action
Backspace / Ctrl+Backspace Delete char before cursor
Delete / Ctrl+D Delete char under cursor
Alt+Del Delete to start of word
Ctrl+U Delete to line start
Ctrl+K Delete to line end
Ctrl+Left / Ctrl+Right Decrease / increase indent
Ctrl+X / Super+X Cut
Ctrl+C / Super+C Copy
Ctrl+V Paste
Ctrl+Z Undo
Ctrl+Y Redo

Interface

Key Action
Tab / Shift+Tab Focus next / previous element
Ctrl+S Save
Ctrl+P Command palette (files, themes)
Ctrl+H Help dialog
Ctrl+O Open config (~/.kiss_conf.json)
Ctrl+Q Quit

Configuration

JSON config file at ~/.kiss_conf.json. Open it with Ctrl+O — changes take effect after restart. A copyable example lives at examples/kiss_conf.json.

{
    "kiss": {
        "theme": "tokyo-night",
        "editor-theme": "dracula",
        "show_line_numbers": true,
        "soft_wrap": true,
        "highlight_cursor_line": false,
        "start-screen": false
    }
}
Key Default Description
kiss.theme "tokyo-night" Application theme
kiss.editor-theme "dracula" Syntax highlighting colors
kiss.show_line_numbers true Show line numbers
kiss.soft_wrap true Soft-wrap long lines
kiss.highlight_cursor_line false Highlight current line
kiss.start-screen false Show splash screen on startup

Application themes

textual-dark, textual-light, nord, gruvbox, catppuccin-mocha, catppuccin-latte, catppuccin-frappe, catppuccin-macchiato, dracula, tokyo-night, monokai, flexoki, solarized-light, solarized-dark, rose-pine, rose-pine-moon, rose-pine-dawn, atom-one-dark, atom-one-light, ansi-dark, ansi-light

Editor themes

css, monokai, dracula, vscode_dark, github_light

css is the default editor theme. It has no fixed background — it adapts to the current application theme's palette, so the editor blends with the app UI.


TODO

  • Enter handling — auto-indent to match the current line on newline
  • Custom command palette — replace the default Textual palette with a bespoke one

License

MIT License.

Repo: github.com/levk-m/kiss

Release files for kiss-editor 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kiss-editor 0.1.1
File Size Uploaded
kiss_editor-0.1.1.tar.gz 7.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kiss-editor 0.1.1
File Interpreter ABI Platform
kiss_editor-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 17.7 kB

Release files / kiss_editor-0.1.1.tar.gz

Download URL kiss_editor-0.1.1.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3177f4b700ae7e9f0f9638690c73d15857ba2804323816ea37672d74123cf823
BLAKE2b-256 checksum
How to use checksums
4376f6e1f8c00d7bcf1ddf0bd5e840695a42be2b4455f8f0d12f9925649a8b83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / kiss_editor-0.1.1-py3-none-any.whl

Download URL kiss_editor-0.1.1-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ffd8b613b53849a55978a649d255f0532dcac868aeb1704dc4dfd34fb8c9f427
BLAKE2b-256 checksum
How to use checksums
ca63f05d74da0026140b965aada99f3798b077bfba75989b6e94d340489dab1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page