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

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 "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

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
  • 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.0

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.0
File Size Uploaded
kiss_editor-0.3.0.tar.gz 9.7 kB Details

Built distribution (wheel)

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

Total release size: 22.5 kB

Release files / kiss_editor-0.3.0.tar.gz

Download URL kiss_editor-0.3.0.tar.gz
Size 9.7 kB
Tags Source
SHA-256 checksum
How to use checksums
22f1c8d2718f156fef84c40080d8eefb7f65fe883bde6acf0aaa49a5b5a7d326
BLAKE2b-256 checksum
How to use checksums
364b6860b0db29cf9ef528ff358c13c5169369750dfba0f0e7af5d806548acdc
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.0-py3-none-any.whl

Download URL kiss_editor-0.3.0-py3-none-any.whl
Size 12.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9b6abe0c29d10e124fec82b88d77799a318e0d38a10eb56fe3d9f69b794aac2f
BLAKE2b-256 checksum
How to use checksums
bbb6a68a84c744af4cef6d91e6baf6c6e3b9646d3654833900e17100f16f5347
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

This release

0.3.0 This release

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