A modern, easy-to-use terminal text editor that ships as a single static binary with no dependencies, positioned as a successor to nano.
ilai-deutel/kibi
A terminal text editor written in Rust in at most 1024 lines of code, inspired by the C editor kilo.
Open-source alternative to:nano
- Stars
- 1,957
- Forks
- 116
- Open issues
- 32
- Last commit
- 11 days ago
What is it?
Kibi is a terminal text editor written in Rust with a deliberate constraint: the implementation stays within 1024 lines of code, counted per platform and excluding tests. It supports UTF-8 text, incremental search, syntax highlighting, line numbers and a status bar showing file size, and it keeps external dependencies minimal, relying mainly on libc on Unix and winapi on Windows.
The project started as a port of the C editor kilo to idiomatic Rust and adds features such as Windows compatibility, a go-to line and column command, window resize handling on UNIX, configurable tab width and message duration, and the ability to run an external command and paste its output into the buffer. Syntax highlighting is driven by INI files, with a bundled set of language definitions covering dozens of languages.
Kibi runs on Linux, macOS, Windows 10 and WASI, and is available through cargo, several Linux distribution repositories, Termux and Flathub.
Key features
- 01Incremental search with arrow-key navigation.
- 02UTF-8 text support and line numbers in the gutter.
- 03Syntax highlighting configured with simple INI files.
- 04Global configuration for tab size, quit confirmations and message duration.
- 05Run an external command and paste its output into the buffer.
- 06Runs on Linux, macOS, Windows 10 and WASI.
Use cases
- Quick edits on remote servers or minimal systems where a full editor is unavailable.
- Editing config files such as sudoers via visudo.
- Learning how a small terminal editor is built in Rust.
- Editing text on Android through Termux.
Quick start
- 1
Install Kibi with cargo
cargo install kibi - 2
Start a new text buffer
kibi - 3
Open a file
kibi <file path>
Things to know
- Requires a terminal that supports ANSI escape sequences.
- Configuration and syntax highlighting setup is manual via INI files.
In collections
Topics
FAQ
- What is kibi?
- A terminal text editor written in Rust in at most 1024 lines of code, inspired by the C editor kilo. Kibi is a terminal text editor written in Rust with a deliberate constraint: the implementation stays within 1024 lines of code, counted per platform and excluding tests. It supports UTF-8 text, incremental search, syntax highlighting, line numbers and a status bar showing file size, and it keeps external dependencies minimal, relying mainly on libc on Unix and winapi on Windows.
- Is kibi free to use? What license does it have?
- kibi is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is kibi still maintained?
- Actively maintained. The last commit to kibi was on Oct 27, 2026.
- What can I use kibi for?
- Quick edits on remote servers or minimal systems where a full editor is unavailable. Editing config files such as sudoers via visudo. Learning how a small terminal editor is built in Rust. Editing text on Android through Termux.
- How do I install kibi?
- Install Kibi with cargo: cargo install kibi Start a new text buffer: kibi Open a file: kibi <file path>
- Where can I get kibi?
- The source code and installation instructions are on GitHub: https://github.com/ilai-deutel/kibi
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A terminal star map written in C that renders real-time positions of stars, planets, constellations and the moon as ASCII art.
A lightweight Scintilla-based text editor for Windows with syntax highlighting, code folding and auto-completion for many languages.
A text and code editor for Android with syntax highlighting, LSP code intelligence, a built-in terminal, and extensions.
A simple terminal text editor with a VS Code-like interface, inspired by the classic MS-DOS Editor.
A modal code editor built around multi-cursor, combinatoric text editing, written in Rust.