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 & 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. It's for learning, and for the moments where a tiny no-nonsense editor is enough. Some things are still missing (see TODO).

codecov Tests


Install

for unix systems:

curl -fsSL https://raw.githubusercontent.com/levk-m/kiss/main/install.sh | bash

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

The usual editor essentials are here — undo/redo, clipboard, line numbers, word wrap, cursor line highlight. On top of that KISS adds:

  • File tree — browse and open files with custom icons per file type
  • Syntax highlighting — auto-detected from the file
  • Command palette (Ctrl+P) — fuzzy-find files, switch themes
  • Image viewer — open images directly in the terminal (requires Kitty, Sixel or iTerm support)
  • Config~/.kiss_conf.json, open with Ctrl+O
  • Help dialogCtrl+H
  • Splash screen — ASCII logo on startup
  • Update check — notifies when a newer version is available on exit
  • Enter handling — auto-indent to match the current line on newline

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,
        "indent-size": 4
    }
}
Key Default Description
kiss.theme "tokyo-night" Application theme
kiss.editor-theme "css" 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
kiss.indent-size 4 Auto-indent width; 0 disables

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

  • Custom command palette — replace the default Textual palette with a bespoke one
  • Search within fileCtrl+F (maybe)
  • Markdown viewer — two modes: render and edit

License

MIT License.

Repo: github.com/levk-m/kiss

Release files for kiss-editor 0.3.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.3.1
File Size Uploaded
kiss_editor-0.3.1.tar.gz 10.1 kB Details

Built distribution (wheel)

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

Total release size: 23.3 kB

Release files / kiss_editor-0.3.1.tar.gz

Download URL kiss_editor-0.3.1.tar.gz
Size 10.1 kB
Tags Source
SHA-256 checksum
How to use checksums
00b14cc3bbfe478dbe872e53f1ee243cfac80bcf8ec8de12d8f4d85b0b3dbdb4
BLAKE2b-256 checksum
How to use checksums
d89df19f6fd76b5fddc1cdeb2edd193adae11f0abeb7b3e50275d5f92565e82b
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.3.1-py3-none-any.whl

Download URL kiss_editor-0.3.1-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
47a933d510559bba2aba13076bc59bc9c95e13a99565867b9ff4292088c54f3f
BLAKE2b-256 checksum
How to use checksums
c74b32441e3179ce56ae6139dba6d16520702c08200d2a9188854b43aec1fce5
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

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

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