CLICSV lightweight terminal-based CSV spreadsheet editor written in Rust. Edit CSV files directly in your terminal without the overhead of traditional spreadsheet applications.
- Terminal-native CSV editing - Work with CSV files without leaving the command line
- Fast and lightweight - Built in Rust for optimal performance
- Intuitive navigation - Arrow keys for cell navigation, familiar spreadsheet-like interface
- Full clipboard support - Copy, cut, and paste cells or ranges
- Undo functionality - Revert your last action with Ctrl+Z
- Statistics calculations - Quick summary statistics for selected cells
- Visual cell highlighting - Multi-cell selection with keyboard shortcuts
- Auto-save prompts - Never lose unsaved changes accidentally
With Cargo installed:
cargo install clicsvClone the repository and build from source:
git clone https://github.com/sudo-shaka/clicsv.git
cd clicsv
cargo build --release
cargo install --path .CLICSV is available in the official NetBSD package repository:
pkgin install clicsvOpen a CSV file:
clicsv path/to/file.csvStart with a new file:
clicsv| Shortcut | Action |
|---|---|
Enter / Return |
Edit the current cell |
Ctrl+S |
Save file |
Ctrl+Q |
Quit (prompts if unsaved changes) |
Ctrl+Z |
Undo last action |
| Shortcut | Action |
|---|---|
Arrow Keys |
Move between cells |
Page Up / Page Down |
Scroll page up/down |
Home |
Jump to first column |
End |
Jump to last column |
| Shortcut | Action |
|---|---|
Ctrl+C |
Copy highlighted cells |
Ctrl+X |
Cut highlighted cells |
Ctrl+V |
Paste selection |
Delete |
Delete contents of highlighted cells |
| Shortcut | Action |
|---|---|
Ctrl+Arrow |
Extend selection one cell at a time |
Shift+Up |
Select from current cell to top |
Shift+Down |
Select from current cell to bottom |
Shift+Left |
Select from current cell to left edge |
Shift+Right |
Select from current cell to right edge |
| Shortcut | Action |
|---|---|
= |
Show statistics (n, sum, mean, std) for selected cells |
Language: Rust
Dependencies:
termion- Terminal I/O and controlunicode-segmentation- Proper Unicode text handlingunicode-width- Character width calculations
Supported Encoding: UTF-8
Contributions are welcome! Feel free to:
- Report bugs or request features via GitHub Issues
- Submit pull requests for improvements
- Share feedback and suggestions
This project is licensed under the MIT License - see the LICENSE file for details.
Shaka - GitHub
Built as a learning project to explore Rust while solving the practical need for a terminal-based CSV editor.
Note: CLICSV currently supports UTF-8 encoded CSV files. For best results, ensure your CSV files use UTF-8 encoding.
