Hat is a hackable modal text editor for modern terminals.
![]() |
![]() |
|---|---|
![]() |
![]() |
- Modal text editing
- Normal, select, select line, and insert modes
- Basic motions (vim's
eyopadDfcCb^$0=JgJ*#etc.) - Unlimited undo/redo
- System clipboard copy & paste (using
xclip) - Find in buffer
- Text automation
- Run external command on selection
- Dot repeat last change
- Multi repeat
- Macros
- Tree-sitter syntax awareness
- Syntax highlighting (24 bit color)
- Indent alignment
- LSP support
- Go to definition
- Find references
- Diagnostics
- Completions w/ documentation
- Hover
- Rename
- Multi buffer
- Buffer management
- Find file
- Find in files
- Scratch buffers
- Unicode support
--printermode
| Done | Name | Link |
|---|---|---|
| ✔️ | LSP highlight | patch/lsp-highlight |
| ✔️ | LSP code action | patch/lsp-code-action |
| ✔️ | LSP formatting | patch/lsp-formatting |
| ✔️ | Git hunk markers | patch/git-signs |
| ✔️ | Tree-sitter symbol picker | patch/ts-symbol-picker |
| ✔️ | Buffer centering | patch/buffer-centering |
| ✔️ | Autosave | patch/autosave |
| ✔️ | Relative line numbers | patch/relative-number |
| ✔️ | Auto-indent | patch/auto-indent |
| 🚧 | Windows support | |
| 🚧 | MacOS support | |
| 🚧 | Wayland support | |
| 🚧 | Persistent undo | |
| 🚧 | Persistent macros | |
| 🚧 | Surround actions | |
| 🚧 | Case actions | |
| 🚧 | Marks | |
| 🚧 | Comments | |
| 🚧 | List mode (fill chars) |
Software is:
- doing not more and not less than what the user needs
- Every feature is implemented in the most simple and straightforward form: keep it simple, fast, and clear
- made for users capable of reading and customizing its source code
- Source code can be read by users in one evening
- External configuration is not necessary and discouraged
- User manual documentation is not necessary, hacking documentation is encouraged (via
HACKING.md)
- distributed as source code, compiled by the user
- not meant to be developed forever and its final state should be described by its feature set from the beginning
- extended either by the user directly, or by applying source code patches
distributed as diff files
- It is encouraged to share your extensions with others who can find it useful
See Hackable software for details.
See HACKING.md.
See CONTRIBUTING.md.



