cell is a Rust terminal spreadsheet with full Vim modal editing, CSV/TSV/native .cell format support, and Excel-compatible formulas.
Key Takeaways
Install via cargo install cell-sheet-tui or pre-built binaries for Linux, macOS, and Windows (x86_64 + aarch64).
Supports normal/insert/visual/command modes with Vim keybindings: gg/G, dd/yy, Ctrl-D/Ctrl-U, / search, :sort, and more.
Formulas use Excel-compatible syntax (=SUM(A1:A10), =IF(A1>100,"high","low")); ODF spec compliance is tracked for future expansion.
Native .cell format preserves formulas as plain text; CSV export flattens them with a warning, mirroring sc-im conventions.
Architecture splits cell-sheet-core (data model, formula engine, file I/O) from cell-sheet-tui (Ratatui rendering, event loop), so the core is testable headlessly.
Hacker News Comment Review
Commenters broadly agree on the most pressing gap: xlsx and ODF read/write support. Without it, cell stays out of reach for workflows that touch real-world spreadsheet files shared with others.
CSV power users working with xan and Neovim see cell as a natural complement for visual editing, but want custom delimiter support (e.g. pipe |) to cover edge cases that plain CSV cannot.
The scripting story drew specific feedback: sc-im‘s Lua integration is seen as the benchmark, but its inability to pass cell ranges to external scripts is a known bottleneck. Commenters want cell to solve this when scripting lands.
Notable Comments
@ximm: Asks whether formula drag-fill with mixed references ($A2 + B$1) is supported, citing it as a core Excel productivity pattern.
@k2enemy: Flags sc-im’s Lua limitation explicitly: passing only single-cell values, not ranges, cripples external scripting utility.
@WillAdams: Calls for a category-axis model (Javelin/Lotus Improv/Quantrix style) instead of A1 grid – a minority but structurally interesting position.