A modal text editor inspired by Neovim, built with Rust.
- Modal Editing: Normal, Insert, Command, and Visual modes.
- Vim-like Keybindings:
hjklnavigation,ifor insert,vfor visual,:w,:qcommands. - Clipboard Integration: Copy (
y) and Paste (p) using system clipboard. - Mouse Support: Click to move cursor.
- Extensive Themes: 12+ built-in themes (Dracula, Nord, Catppuccin, etc.) with external file support.
- Syntax Highlighting: Auto-detection for Rust, C, C++, Java, JS/TS, and Python. Distinguishes between keywords, types, and control flow.
- Basic Auto-Completion: Context-aware suggestions while typing.
- Configuration: Customizable via
.config/config.toml. - Performance: Built with
ratatuiandcrosstermfor high-performance TUI.
- Language: Rust
- Rendering: ratatui - A Rust TUI library.
- Input/Terminal: crossterm - Cross-platform terminal manipulation.
- Configuration: serde & toml - For parsing the config file.
- Data Structure: ropey - A Utf8 text rope for fast editing.
-
Prerequisites: Ensure you have Rust installed (
cargo). -
Build:
cargo build --release
-
Install:
Option A: Automatic Installation (Recommended) Run the installation script to build, install, and configure your PATH automatically:
chmod +x install.sh ./install.sh
Option B: Manual Installation
cargo install --path .Add the binary path to your shell configuration (e.g.,
.zshrc,.bashrc):export PATH="$HOME/.cargo/bin:$PATH"
-
Run:
meow filename.txt
The editor looks for a configuration file at ~/.config/meow/config.toml (global) or .config/config.toml (local override).
[editor]
line_numbers = true
mouse_support = true
theme = "dracula" # Set your preferred theme here
[theme]
background = "#1e1e1e"
foreground = "#ffffff"
cursor = "#cccccc"
selection_bg = "#3e4451"h,j,k,lor Arrow Keys: Move cursor Left, Down, Up, Right.i: Enter Insert Mode.v: Enter Visual Mode.x: Delete character under cursor.p: Paste from system clipboard./: Enter Search Mode.n/N: Next / Previous search match.:; Enter Command Mode.- Scrolling function
Esc: Return to Normal Mode.- Arrow Keys: Navigate while typing.
- Backspace: Delete characters (merges lines if at start).
- Auto-Completion:
- Typing triggers suggestions.
Up/Down: Navigate suggestions.Tab/Enter: Select suggestion.
- Type normal characters to insert them.
- Move cursor or Arrow Keys to select text.
y: Yank (Copy) selection to system clipboard.d: Delete selection.x: Cut selection (Copy to clipboard and delete).Esc: Return to Normal Mode.
:wor:w <filename>: Save file.:q: Quit (unsaved changes will be lost immediately in this version).:wq: Save and Quit.
Open DOCUMENTATION.md for user docs, or STUDY_GUIDE.md for a deep dive architectural manual.
