Next: Help Commands, Previous: Introduction, Up: Introduction

To start the Calculator in its standard interface, type `M-x calc`.
By default this creates a pair of small windows, `*Calculator*`
and `*Calc Trail*`. The former displays the contents of the
Calculator stack and is manipulated exclusively through Calc commands.
It is possible (though not usually necessary) to create several Calc
mode buffers each of which has an independent stack, undo list, and
mode settings. There is exactly one Calc Trail buffer; it records a
list of the results of all calculations that have been done. The
Calc Trail buffer uses a variant of Calc mode, so Calculator commands
still work when the trail buffer's window is selected. It is possible
to turn the trail window off, but the `*Calc Trail*` buffer itself
still exists and is updated silently. See Trail Commands.

In most installations, the `C-x * c` key sequence is a more
convenient way to start the Calculator. Also, `C-x * *`
is a synonym for `C-x * c` unless you last used Calc
in its Keypad mode.

Most Calc commands use one or two keystrokes. Lower- and upper-case
letters are distinct. Commands may also be entered in full `M-x` form;
for some commands this is the only form. As a convenience, the `x`
key (`calc-execute-extended-command`

)
is like `M-x` except that it enters the initial string ‘`calc-`’
for you. For example, the following key sequences are equivalent:
`S`, `M-x calc-sin <RET>`, `x sin <RET>`.

Although Calc is designed to be used from the keyboard, some of Calc's more common commands are available from a menu. In the menu, the arguments to the functions are given by referring to their stack level numbers.

The Calculator exists in many parts. When you type `C-x * c`, the
Emacs “auto-load” mechanism will bring in only the first part, which
contains the basic arithmetic functions. The other parts will be
auto-loaded the first time you use the more advanced commands like trig
functions or matrix operations. This is done to improve the response time
of the Calculator in the common case when all you need to do is a
little arithmetic. If for some reason the Calculator fails to load an
extension module automatically, you can force it to load all the
extensions by using the `C-x * L` (`calc-load-everything`

)
command. See Mode Settings.

If you type `M-x calc` or `C-x * c` with any numeric prefix argument,
the Calculator is loaded if necessary, but it is not actually started.
If the argument is positive, the `calc-ext` extensions are also
loaded if necessary. User-written Lisp code that wishes to make use
of Calc's arithmetic routines can use ‘`(calc 0)`’ or ‘`(calc 1)`’
to auto-load the Calculator.

If you type `C-x * b`, then next time you use `C-x * c` you
will get a Calculator that uses the full height of the Emacs screen.
When full-screen mode is on, `C-x * c` runs the `full-calc`

command instead of `calc`

. From the Unix shell you can type
‘`emacs -f full-calc`’ to start a new Emacs specifically for use
as a calculator. When Calc is started from the Emacs command line
like this, Calc's normal “quit” commands actually quit Emacs itself.

The `C-x * o` command is like `C-x * c` except that the Calc
window is not actually selected. If you are already in the Calc
window, `C-x * o` switches you out of it. (The regular Emacs
`C-x o` command would also work for this, but it has a
tendency to drop you into the Calc Trail window instead, which
`C-x * o` takes care not to do.)

For one quick calculation, you can type `C-x * q` (`quick-calc`

)
which prompts you for a formula (like ‘`2+3/4`’). The result is
displayed at the bottom of the Emacs screen without ever creating
any special Calculator windows. See Quick Calculator.

Finally, if you are using the X window system you may want to try
`C-x * k` (`calc-keypad`

) which runs Calc with a
“calculator keypad” picture as well as a stack display. Click on
the keys with the mouse to operate the calculator. See Keypad Mode.

The `q` key (`calc-quit`

) exits Calc mode and closes the
Calculator's window(s). It does not delete the Calculator buffers.
If you type `M-x calc` again, the Calculator will reappear with the
contents of the stack intact. Typing `C-x * c` or `C-x * *`
again from inside the Calculator buffer is equivalent to executing
`calc-quit`

; you can think of `C-x * *` as toggling the
Calculator on and off.

The `C-x * x` command also turns the Calculator off, no matter which
user interface (standard, Keypad, or Embedded) is currently active.
It also cancels `calc-edit`

mode if used from there.

The `d <SPC>` key sequence (`calc-refresh`

) redraws the contents
of the Calculator buffer from memory. Use this if the contents of the
buffer have been damaged somehow.

The `o` key (`calc-realign`

) moves the cursor back to its
“home” position at the bottom of the Calculator buffer.

The `<` and `>` keys are bound to `calc-scroll-left`

and
`calc-scroll-right`

. These are just like the normal horizontal
scrolling commands except that they scroll one half-screen at a time by
default. (Calc formats its output to fit within the bounds of the
window whenever it can.)

The `{` and `}` keys are bound to `calc-scroll-down`

and `calc-scroll-up`

. They scroll up or down by one-half the
height of the Calc window.

The `C-x * 0` command (`calc-reset`

; that's `C-x *` followed
by a zero) resets the Calculator to its initial state. This clears
the stack, resets all the modes to their initial values (the values
that were saved with `m m` (`calc-save-modes`

)), clears the
caches (see Caches), and so on. (It does *not* erase the
values of any variables.) With an argument of 0, Calc will be reset to
its default state; namely, the modes will be given their default values.
With a positive prefix argument, `C-x * 0` preserves the contents of
the stack but resets everything else to its initial state; with a
negative prefix argument, `C-x * 0` preserves the contents of the
stack but resets everything else to its default state.