Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andmarti1424/sc-im
sc-im - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal
https://github.com/andmarti1424/sc-im
console console-application ncurses spreadsheet terminal terminal-app vim
Last synced: 5 days ago
JSON representation
sc-im - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal
- Host: GitHub
- URL: https://github.com/andmarti1424/sc-im
- Owner: andmarti1424
- License: other
- Created: 2014-10-30T16:56:12.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2024-12-17T12:03:58.000Z (25 days ago)
- Last Synced: 2024-12-31T02:06:03.746Z (12 days ago)
- Topics: console, console-application, ncurses, spreadsheet, terminal, terminal-app, vim
- Language: C
- Homepage:
- Size: 5.4 MB
- Stars: 4,905
- Watchers: 82
- Forks: 210
- Open Issues: 91
-
Metadata Files:
- Readme: Readme.md
- Changelog: CHANGES
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-github-repos - andmarti1424/sc-im - sc-im - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal (C)
- my-awesome-github-stars - andmarti1424/sc-im - sc-im - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal (C)
- vim-keybindings-everywhere-the-ultimate-list - sc-im - Like sc but improved, a Vim-like spreadsheet calculator. (Office Productivity)
- awesome-browserless - sc-im - An ncurses spreadsheet program (Office work / Misc)
- command-line-tools - sc-im - ncurses spreadsheet program for terminal. (CSV)
README
# NOTE 06/01/2023:
This project needs some help.
This is a one person project and lost sponsoring in the last months. There are only just a few left. I want to still maintain and develop sc-im, but I am the only income in my family and its becoming difficult to work as much as I would want.
If you can make a donation (see at the bottom), please do. Your help would be really appreciated!!
Thanks.# sc-im
Spreadsheet Calculator Improvised, aka sc-im, is an ncurses based, vim-like spreadsheet calculator.sc-im is based on [sc](https://en.wikipedia.org/wiki/Sc_(spreadsheet_calculator)), whose original authors are James Gosling and Mark Weiser, and mods were later added by Chuck Martin.
## Some of the features of sc-im
- Vim movements commands for editing cell content.
- UNDO / REDO.
- 65.536 rows and 702 columns supported. (The number of rows can be expanded to 1.048.576 if wished).
- CSV / TAB delimited / XLSX file import and export. ODS import. Markdown export.
- Key-mappings.
- Autobackup.
- Direct color support - specifing the RGB values, screen colors can be customized by user, even at runtime.
- Colorize cells or give them format such as bold, italic or underline.
- Wide character support. The following alphabets are supported: English, Spanish, French, Italian, German, Portuguese, Russian, Ukrainian, Greek, Turkish, Czech, Japanese, Chinese.
- Sort of rows.
- Filter of rows.
- Subtotals.
- Cell shifting.
- Clipboard support.
- GNUPlot interaction.
- Scripting support with LUA. Also with triggers and c dynamic linked modules.
- Implement external functions in the language you prefer and use them in SC-IM.
- Use SC-IM as a non-interactive calculator, reading its input from an external script.## Quick start
| Key | Purpose |
|------------------|-----------------------------------------|
| = | Insert a numeric value |
| \ | Insert a text value |
| e | Edit a numeric value |
| E | Edit a string value |
| x | Delete current cell content |
| :q | Quit the app |
| :h | See help |
| :w filename.sc | Save current spreadsheet in sc format |
| j | Move down |
| k | Move up |
| h | Move left |
| l | Move right |
| goab12 | go to cell AB12 |
| u | undo last change |
| C-r | redo last change undone |
| yy | Copy current cell |
| v | select a range using cursor/hjkl keys |
| p | paste a previously yanked cell or range |
| ir | insert row |
| ic | insert column |
| dr | delete row |
| dc | delete column |## Screenshots
![demo image](screenshots/scim6.png?raw=true)
![demo image](screenshots/scim-plot-graph.gif?raw=true)
![demo image](screenshots/scim5.png?raw=true)
![demo image](screenshots/scim4.png?raw=true)
![demo image](screenshots/scimp2.png?raw=true)
![demo image](screenshots/scimp3.png?raw=true)## Installation
### Dependencies
* Requirements:
- `ncurses` (best if compiled with wide chars support)
- `bison` or `yacc`
- `gcc`
- `make`
- `pkg-config` and `which` (for make to do its job)* Optionals:
- `tmux` / `xclip` / `pbpaste` (for clipboard copy/paste)
- `gnuplot` (for plots)
- `libxlsxreader` (for xls support)
- `xlsxwriter` (for xlsx export support)
- `libxml-2.0` and `libzip` (for xlsx/ods import support)
- `lua` (for Lua scripting)
- threads support (in case you want to test this in Minix, just disable autobackup and HAVE_PTHREAD)### Manual
* Edit [`src/Makefile`](src/Makefile) according to your system and needs:
```
vim src/Makefile
```* Run `make`:
```
make -C src
```* Optional: You can install the binary `sc-im` in your system by typing with a privileged user:
```
make -C src install
```### Building on OS X
You can follow the instructions as above, but if you would like Lua scripting
support, you will need to install Lua 5.1, which you can do with,```
brew install [email protected]
```And then follow the instructions as above.
### Homebrew for OSX users
```
brew install sc-im
```### Ubuntu with XLSX import & export
See [this wiki page](https://github.com/andmarti1424/sc-im/wiki/Ubuntu-with-XLSX-import-&-export).
### Other distros / OS
Please check [wiki pages](https://github.com/andmarti1424/sc-im/wiki/)
### Configuration
The `scimrc` file can be used to configure `sc-im`. The file should be placed in the `~/.config/sc-im` directory.
Here is an example `~/.config/sc-im/scimrc` :
set autocalc
set numeric
set numeric_decimal=0
set overlap
set xlsx_readformulasOther configuration variables are listed in the [help file](https://raw.githubusercontent.com/andmarti1424/sc-im/freeze/src/doc).
### Issues and questions
Please open an issue if you find a bug.
If you are now sure if its a bug, please take a look at the discussions and/or ask there.
If you have a question please check out current discussions and if you still are in doubt, open a discussion as well.
If you want to ask for a feature request, the same, check out current discussions.
Thank you!### Tutorial
[sc-im tutorial](https://github.com/jonnieey/Sc-im-Tutorial)
### Related projects
- [vim-scimark](https://github.com/mipmip/vim-scimark) - Vim plugin, edit embedded markdown tables with sc-im in vim terminal.
### Helping us
Want to help? You can help us with one or more of the following:
* giving sc-im a star on GitHub
* taking screenshots / creating screencasts showing sc-im
* making a donation (see below).
* telling if you use it / like it. I really don't have a clue if this app is used by someone.### Donations
If you like sc-im please support its development by making a DONATION with Patreon or PayPal.
It would really help a lot.If you wish to make a donation, please click the above button or just send money to [email protected] via PayPal, choosing "Goods and Services".
or with Patreon.Thank you!