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 from the sidebar
  • 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

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.2.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.2.0
File Size Uploaded
kiss_editor-0.2.0.tar.gz 8.2 kB Details

Built distribution (wheel)

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

Total release size: 19.2 kB

Release files / kiss_editor-0.2.0.tar.gz

Download URL kiss_editor-0.2.0.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
88004133f3df554bb25e2574df8eeacc50c7921174e84ab25a03540074a35cf6
BLAKE2b-256 checksum
How to use checksums
af9642da14c70baccd29615283bddc2df503b69f7d0d935b800addd808e57e38
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.2.0-py3-none-any.whl

Download URL kiss_editor-0.2.0-py3-none-any.whl
Size 11.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2aa167b82db923fe7e0a8f1725878dc15d21e27766795011141c0e37f999dacb
BLAKE2b-256 checksum
How to use checksums
7bd022e6437e5eb89d4e10e58a959364be5866b4ff8a72c2e13f5df2ff62f100
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

This release

0.2.0 This release

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