Coder Social home page Coder Social logo

poetaman / sc-im Goto Github PK

View Code? Open in Web Editor NEW

This project forked from andmarti1424/sc-im

0.0 1.0 0.0 8.02 MB

SC-IM - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal

License: Other

C 95.53% Objective-C 0.59% C++ 2.22% Roff 0.65% Lua 0.04% JavaScript 0.28% CSS 0.10% Makefile 0.05% Scala 0.17% SuperCollider 0.32% Shell 0.04% GDB 0.01%

sc-im's Introduction

sc-im

Spreadsheet Calculator Improvised, aka sc-im, is an ncurses based, vim-like spreadsheet calculator.

sc-im is based on sc, 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
gtab12 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 demo image demo image demo image demo image demo image

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

    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 tap nickolasburr/pfa
brew install sc-im

Ubuntu with XLSX import & export

See this wiki page.

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_readformulas

Other configuration variables are listed in the help file.

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 PayPal. It would really help a lot. 2 kids, 2 cats, 1 wife and only one salary..

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". Paypal is preferred over Patreon.

Thanks!

sc-im's People

Contributors

80aff123-9163-4f3e-a93d-4a2f35af9be1 avatar andmarti1424 avatar ayroblu avatar charlespax avatar dhasenan avatar dotlambda avatar dther avatar dvhar avatar eliasrg avatar epicalert avatar hatunike avatar jimgregory avatar kyrias avatar llenck avatar melak avatar mikeymell avatar mipmip avatar msharov avatar nickolasburr avatar npitre avatar paolo-lulli avatar pedrormjunior avatar poetaman avatar roman65536 avatar sjmulder avatar sorsasampo avatar stroobandt avatar wimstockman avatar yamanq avatar yokattana avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.