# NanoRust
A terminal-based text editor written in Rust, inspired by GNU nano. Simple, fast, and easy to use.
## Installation
### From crates.io
```bash
cargo install nanorust
```
### From source
```bash
git clone https://github.com/Supakornn/nanorust.git
cd nanorust
cargo build --release
cargo install --path .
```
## Usage
```bash
# Open a file
nanorust filename.txt
# With options
nanorust -l -i filename.txt # Line numbers + auto-indent
# View mode (read-only)
nanorust -v filename.txt
```
## Command-Line Options
- `-l, --linenumbers`: Show line numbers
- `-i, --autoindent`: Enable auto-indent
- `-v, --view`: Read-only mode
- `-w, --nowrap`: Disable line wrapping
## Key Keybindings
| `Ctrl+O` | Save file |
| `Ctrl+X` | Exit |
| `Ctrl+W` | Search |
| `Ctrl+\` | Replace |
| `Ctrl+K` | Cut line |
| `Ctrl+U` | Paste |
| `Alt+U` | Undo |
| `Alt+E` | Redo |
| `Ctrl+G` | Help |
Press `Ctrl+G` in the editor to see all keybindings.
## Requirements
- Rust 1.70 or later
- Terminal with ANSI escape sequence support
- UTF-8 locale
## Supported Platforms
- Linux
- macOS
- BSD
- Windows (with Windows Terminal or similar)
## Contributing
Contributions are welcome! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
## License
MIT License - see [LICENSE](LICENSE) file for details
## Acknowledgments
Inspired by GNU nano and built with Rust for performance and safety.