mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
88 lines
4.0 KiB
Plaintext
88 lines
4.0 KiB
Plaintext
Command history
|
|
|
|
There is a command line editor and history mechanism built
|
|
into calc, which is active when stdin is a terminal. When
|
|
stdin is not a terminal, then the command line editor is
|
|
disabled.
|
|
|
|
Lines of input to calc are always terminated by the return
|
|
(or enter) key. When the return key is typed, then the current
|
|
line is executed and is also saved into a command history list
|
|
for future recall.
|
|
|
|
Before the return key is typed, the current line can be edited
|
|
using emacs-like editing commands. As examples, ^A moves to
|
|
the beginning of the line, ^F moves forwards through the line,
|
|
backspace removes characters from the line, and ^K kills the
|
|
rest of the line.
|
|
|
|
Previously entered commands can be recalled by using the history
|
|
list. The history list functions in a LRU manner, with no
|
|
duplicated lines. This means that the most recently entered
|
|
lines are always at the end of the history list where they are
|
|
easiest to recall.
|
|
|
|
Typing <esc>h lists all of the commands in the command history
|
|
and numbers the lines. The most recently executed line is always
|
|
number 1, the next most recent number 2, and so on. The numbering
|
|
for a particular command therefore changes as lines are entered.
|
|
|
|
Typing a number at the beginning of a line followed by <esc>g
|
|
will recall that numbered line. So that for example, 2<esc>g
|
|
will recall the second most recent line that was entered.
|
|
|
|
The ^P and ^N keys move up and down the lines in the history list.
|
|
If they attempt to go off the top or bottom of the list, then a
|
|
blank line is shown to indicate this, and then they wrap around
|
|
to the other end of the list.
|
|
|
|
Typing a string followed by a ^R will search backwards through
|
|
the history and recall the most recent command which begins
|
|
with that string.
|
|
|
|
Typing ^O inserts the current line at the end of the history list
|
|
without executing it, and starts a new line. This is useful to
|
|
rearrange old history lines to become recent, or to save a partially
|
|
completed command so that another command can be typed ahead of it.
|
|
|
|
If your terminal has arrow keys which generate escape sequences
|
|
of a particular kind (<esc>[A and so on), then you can use
|
|
those arrow keys in place of the ^B, ^F, ^P, and ^N keys.
|
|
|
|
The actual keys used for editing are defined in a bindings file,
|
|
usually called /usr/local/lib/calc/bindings. Changing the entries
|
|
in this file will change the key bindings used for editing. If the
|
|
file is not readable, then a message will be output and command
|
|
line editing is disabled. In this case you can only edit each
|
|
line as provided by the terminal driver in the operating system.
|
|
|
|
A shell command can be executed by typing '!cmd', where cmd
|
|
is the command to execute. If cmd is not given, then a shell
|
|
command level is started.
|
|
|
|
## Copyright (C) 1999 Landon Curt Noll
|
|
##
|
|
## Calc is open software; you can redistribute it and/or modify it under
|
|
## the terms of the version 2.1 of the GNU Lesser General Public License
|
|
## as published by the Free Software Foundation.
|
|
##
|
|
## Calc is distributed in the hope that it will be useful, but WITHOUT
|
|
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
|
|
## Public License for more details.
|
|
##
|
|
## A copy of version 2.1 of the GNU Lesser General Public License is
|
|
## distributed with calc under the filename COPYING-LGPL. You should have
|
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
##
|
|
## @(#) $Revision: 30.1 $
|
|
## @(#) $Id: history,v 30.1 2007/03/16 11:10:42 chongo Exp $
|
|
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/history,v $
|
|
##
|
|
## Under source code control: 1991/07/21 04:37:20
|
|
## File existed as early as: 1991
|
|
##
|
|
## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
|
|
## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|