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
  • Go to line (Ctrl+G) — enter a number, jump straight there
  • 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
Ctrl+G Go to line

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,
        "auto-close-pairs": true
    }
}
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
auto-close-pairs true Auto-close ({[ and '"

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

  • Markdown viewer — two modes: render and edit
  • Create and save new files

License

MIT License.

Repo: github.com/levk-m/kiss

Release files for kiss-editor 0.3.4

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.4
File Size Uploaded
kiss_editor-0.3.4.tar.gz 10.9 kB Details

Built distribution (wheel)

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

Total release size: 24.9 kB

Release files / kiss_editor-0.3.4.tar.gz

Download URL kiss_editor-0.3.4.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4aef873c0399e2d1df481270d9e64f04786f19490fa122361a4b17be5580eb9e
BLAKE2b-256 checksum
How to use checksums
492e2883d50c37cf5dc16482581957ce995b2ca4962344835362c86c32bcd228
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.4-py3-none-any.whl

Download URL kiss_editor-0.3.4-py3-none-any.whl
Size 14.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5fb20c992703130b8b482243cbe68c67f4a598fd77d40209424ff74e0af1b167
BLAKE2b-256 checksum
How to use checksums
e92676aeba1e0ea4c682b1b8bf2039924d63a6b819807ccf41cc32877144da5e
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

This release

0.3.4 This release

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

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