whatisgithub

What is sc-im?

andmarti1424/sc-im — explained in plain English

Analysis updated 2026-06-26

5,618CAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A terminal-based spreadsheet that works like Vim, supporting CSV, XLSX, and ODS files, Lua scripting, GNUPlot charts, row filtering and sorting, and up to 65,536 rows by default.

Mindmap

mindmap
  root((sc-im))
    What it does
      Terminal spreadsheet
      Vim key bindings
      Formula calculations
    File Formats
      CSV and TSV
      XLSX and ODS
      Markdown export
    Features
      Lua scripting
      GNUPlot charts
      Filter and sort rows
      Wide character support
    Setup
      ncurses gcc bison
      Homebrew on macOS
      Config at scimrc
    Audience
      Vim users
      Terminal power users
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Edit and analyze spreadsheet data entirely in a terminal using Vim-style keyboard navigation without leaving the command line.

USE CASE 2

Import a CSV or XLSX file, filter and sort rows, and export the result as a Markdown table.

USE CASE 3

Automate repetitive spreadsheet tasks by writing Lua scripts that sc-im can execute non-interactively.

USE CASE 4

Generate charts from spreadsheet data by connecting sc-im to GNUPlot.

What is it built with?

CncursesLuaGNUPlot

How does it compare?

andmarti1424/sc-imrfidresearchgroup/proxmark3memononen/nanovg
Stars5,6185,6285,629
LanguageCCC
Setup difficultymoderatehardmoderate
Complexity3/54/53/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Building from source requires ncurses, bison, gcc, and make, optional XLSX support needs xlsxwriter and libxml, on macOS, Homebrew installs it in one command.

No license information is mentioned in the explanation.

So what is it?

sc-im is a spreadsheet calculator that runs entirely inside a terminal window. Instead of a graphical interface with a mouse, it uses keyboard commands inspired by the Vim text editor. The project is a modern continuation of an older Unix program called sc, originally written by James Gosling and Mark Weiser. sc-im is maintained by a single developer and accepts donations to support continued development. The interface looks and behaves like a traditional spreadsheet grid, with rows and columns for entering numbers and text. Navigation uses the same hjkl keys as Vim, and other Vim-style commands handle actions like yanking cells, inserting or deleting rows, and undoing changes. The spreadsheet supports up to 65,536 rows and 702 columns by default, expandable to over a million rows if needed. sc-im can read and write several file formats, including CSV, TSV, XLSX, and ODS. It can also export tables as Markdown. For data visualization, it can communicate with GNUPlot to produce charts from spreadsheet data. Users can write scripts in Lua to automate tasks, and the program can also run without any user interaction, taking its input from an external script file. Other features include row filtering and sorting, subtotals, cell formatting options such as bold and italic, clipboard support, and customizable colors using RGB values. Wide character support covers a range of alphabets including Japanese, Chinese, Greek, Russian, and several European languages. Building sc-im from source requires ncurses, bison, gcc, and make. On macOS, Homebrew can install it in one command. Optional dependencies like xlsxwriter and libxml add XLSX support, while Lua and GNUPlot unlock scripting and graphing features. Configuration lives in a plain text file at ~/.config/sc-im/scimrc.

Copy-paste prompts

Prompt 1
I have a CSV file with sales data. Show me the sc-im commands to open it, sort by the revenue column descending, filter rows where revenue is above 1000, and export the result as a Markdown table.
Prompt 2
Write a Lua script for sc-im that reads a column of numbers, computes a running total in the next column, and saves the file.
Prompt 3
I want to plot a bar chart from column B of my sc-im spreadsheet using GNUPlot. Give me the sc-im command sequence to produce the chart.

Frequently asked questions

What is sc-im?

A terminal-based spreadsheet that works like Vim, supporting CSV, XLSX, and ODS files, Lua scripting, GNUPlot charts, row filtering and sorting, and up to 65,536 rows by default.

What language is sc-im written in?

Mainly C. The stack also includes C, ncurses, Lua.

What license does sc-im use?

No license information is mentioned in the explanation.

How hard is sc-im to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is sc-im for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.