SC-IM(1)

NAME
sc-im - A curses based, vim-like spreadsheet calculator

SYNOPSIS
sc-im [OPTION]... [FILE]

DESCRIPTION
sc-im Is a curses based spreadsheet calculator program with vim like key bindings.

SC-IM is a spreadsheet program based on SC

A spreadsheet is an interactive computer application program for organization and analysis of data in tabular form. Spreadsheets are developed as computerized simulations of paper accounting worksheets. The program operates on data represented as cells of an array, organized in rows and columns. Each cell of the array is a model–view–controller element that can contain either numeric or text data, or the results of formulas that automatically calculate and display a value based on the contents of other cells.

The user of the spreadsheet can make changes in any stored value and observe the effects on calculated values. This makes the spreadsheet useful for "what-if" analysis since many cases can be rapidly investigated without tedious manual recalculation. Modern spreadsheet software can have multiple interacting sheets, and can display data either as text and numerals, or in graphical form. SC-IM uses ncurses for visual interface and has vim-like keybindings and some functional similarities with vim text editor.

OPTIONS

  Input Control

FILE
    The input file from where to read the spreadsheet.

--sheet=SHEET
    Open SHEET when loading xlsx file. Can be sheet name or number. Default is '1'.

  Version

--version
    Print the version number of Sc-im and exit. It also shows which features were enabled when Sc-im was compiled.

  External scripts

--nocurses
    Run interactive but without ncurses interface.

--output=FILE
    Save the results in FILE.

--quit_afterload
    Quit after loading all the files. Useful when sending scripts to SC-IM.

--quiet
    Set variable 'quiet'. Avoid printing info/error/debug messages.

  Other configuration variables

--autocalc
    Set variable 'autocalc'. Recalculations occur automatically.

--numeric
    Set variable 'numeric'. A digit starts a numeric value instead of a command multiplier.

--half_page_scroll
    Set variable 'half_page_scroll'. <c-f>, <c-b> and other scroll mappings scroll half page instead of full page.

--newline_action=VAL
    Set variable 'newline_action' VAL to j to move the cursor down after an entry. Set to l to move the cursor right after an entry.

--external_functions
    Set variable 'external_functions'. Enable external functions.

--xlsx_readformulas
    Set variable 'xlsx_readformulas'. SC-IM will try to import formulas, rather than the final values of a cell.

COLOR SUPPORT
Most terminals are able to display 256 colors these days. But some of them enable only 16 colors by default. To enjoy sc-im's full capabilities, these terminals need to be signaled to enable 256 color mode. This is usually done by setting the TERM environment variable.

export TERM=xterm-256color

KEYBOARD CONTROLS

h, j, k, l, Arrow keys
    Move between cells.

PgUp, pgDn
    One page UP or DOWN.

gg  Jump to the first cell.

v   Starts visual selection.

^   Move the cell cursor to row 0 of the current column.

0   Move the cell cursor backward to column A of the current row.

$   Move the cell cursor forward to the last valid column of the current row.

b   Move the cell cursor back to the previous valid cell.

w   Move the cell cursor forward to the next valid cell.

g0  Move the cell cursor to the first visible column of the screen.

g$  Move the cell cursor to the last visible column of the screen.

gM  Move the cell cursor to the middle column of the screen.

gH  Go to fist visible row on the screen.

gL  Go to last visible row on the screen.

gM  Go to middle row on the screen.

mx  Mark the current cell.

'x  Jump to a marked cell.

=   Enter a numeric constant or expression into the current cell.

<   Enter a label string into the current cell. Left aligned

>   Enter a label string into the current cell. Right aligned

{   Left justify the string in the current cell.

}   Right justify the string in the current cell.

|   Center the string in the current cell.

e   Edit the value associated with the current cell. This is identical to ``='' except that the command line starts out containing the old numeric value or expression associated with the cell. The editing in this mode is vi-like.

E   Edit the string associated with the current cell. This is identical to ``<'', ``\'', or ``>'' except that the command line starts out containing the old string value or expression associated with the cell. The editing in this mode is vi-like.

x   Clear the current cell. Deletes the numeric value, label string, and/or numeric or string expression.

:   Enter COMMAND mode.

See :help to get more help

FEATURES

•
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 file import and export

•   XLS / XLSX file import

•   Key-mappings.

•   Sort of rows

•   Filter of rows

•   Cell shifting

•   More movements commands implemented

•   Input and Output was completely rewritten

•   Screen colors can be customized by user, even at runtime

•   Colorize cells or give them format such as bold or underline

•   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 a external script

ABOUT THE NAME
The idea is that the program can be identified as another vim-like app. SC-IM stands for Spreadsheet Calculator Improvised.

AUTHOR
Written by Andrés Martinelli and collaborators. Original man page by Daniel Campoverde.

BUGS
For known bugs look at https://github.com/andmarti1424/sc-im/blob/master/KNOWN_ISSUES

Please report bugs at
    https://github.com/andmarti1424/sc-im/issues

COPYRIGHT
Copyright (c) 2013-2015, Andrés Martinelli <andmarti@gmail.com>

This software is provided by Andres Martinelli ''as is'' and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall Andres Martinelli be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.