GNU Octave Manual Version 3 by John W. Eaton, David Bateman, Søren Hauberg Paperback (6"x9"), 568 pages ISBN 095461206X RRP £24.95 ($39.95) |
33.4.8 Commands For Manipulating The History
Octave normally keeps track of the commands you type so that you can
recall previous commands to edit or execute them again. When you exit
Octave, the most recent commands you have typed, up to the number
specified by the variable history_size
, are saved in a file.
When Octave starts, it loads an initial list of commands from the file
named by the variable history_file
.
Here are the commands for simple browsing and searching the history list.
- LFD
- RET
- Accept the line regardless of where the cursor is. If this line is non-empty, add it to the history list. If this line was a history line, then restore the history line to its original state.
- C-p
- Move `up' through the history list.
- C-n
- Move `down' through the history list.
- M-<
- Move to the first line in the history.
- M->
- Move to the end of the input history, i.e., the line you are entering!
- C-r
- Search backward starting at the current line and moving `up' through the history as necessary. This is an incremental search.
- C-s
- Search forward starting at the current line and moving `down' through the history as necessary.
On most terminals, you can also use the arrow keys in place of C-p and C-n to move through the history list.
In addition to the keyboard commands for moving through the history list, Octave provides three functions for viewing, editing, and re-running chunks of commands from the history list.
- Command: history options
- If invoked with no arguments,
history
displays a list of commands that you have executed. Valid options are:-w file
- Write the current history to the file file. If the name is omitted, use the default history file (normally ‘~/.octave_hist’).
-r file
- Read the file file, replacing the current history list with its contents. If the name is omitted, use the default history file (normally ‘~/.octave_hist’).
n
- Only display the most recent n lines of history.
-q
- Don't number the displayed lines of history. This is useful for cutting and pasting commands if you are using the X Window System.
For example, to display the five most recent commands that you have typed without displaying line numbers, use the command history -q 5.
- Command: edit_history options
- If invoked with no arguments,
edit_history
allows you to edit the history list using the editor named by the variableEDITOR
. The commands to be edited are first copied to a temporary file. When you exit the editor, Octave executes the commands that remain in the file. It is often more convenient to useedit_history
to define functions rather than attempting to enter them directly on the command line. By default, the block of commands is executed as soon as you exit the editor. To avoid executing any commands, simply delete all the lines from the buffer before exiting the editor.The
edit_history
command takes two optional arguments specifying the history numbers of first and last commands to edit. For example, the commandedit_history 13
extracts all the commands from the 13th through the last in the history list. The command
edit_history 13 169
only extracts commands 13 through 169. Specifying a larger number for the first command than the last command reverses the list of commands before placing them in the buffer to be edited. If both arguments are omitted, the previous command in the history list is used.
- Command: run_history [first] [last]
- Similar to
edit_history
, except that the editor is not invoked, and the commands are simply executed as they appear in the history list.
Octave also allows you customize the details of how and where the history is saved.
- Built-in Function: val = history_file ()
- Built-in Function: old_val = history_file (new_val)
- Query or set the internal variable that specifies the name of the
file used to store command history. The default value is
"~/.octave_hist"
, but may be overridden by the environment variableOCTAVE_HISTFILE
.See also history_size, saving_history, history_timestamp_format_string
- Built-in Function: val = history_size ()
- Built-in Function: old_val = history_size (new_val)
- Query or set the internal variable that specifies how many entries
to store in the history file. The default value is
1024
, but may be overridden by the environment variableOCTAVE_HISTSIZE
.See also history_file, history_timestamp_format, saving_history
- Built-in Function: val = saving_history ()
- Built-in Function: old_val = saving_history (new_val)
- Query or set the internal variable that controls whether commands entered
on the command line are saved in the history file.
See also history_file, history_size, history_timestamp_format
- Built-in Function: val = history_timestamp_format_string ()
- Built-in Function: old_val = history_timestamp_format_string (new_val)
- Query or set the internal variable that specifies the format string
for the comment line that is written to the history file when Octave
exits. The format string is passed to
strftime
. The default value is"# Octave VERSION, %a %b %d %H:%M:%S %Y %Z <USER@HOST>"
See also strftime, history_file, history_size, saving_history
- Built-in Function: val = EDITOR ()
- Built-in Function: old_val = EDITOR (new_val)
- Query or set the internal variable that specifies the editor to
use with the
edit_history
command. If the environment variableEDITOR
is set when Octave starts, its value is used as the default. Otherwise,EDITOR
is set to"emacs"
.See also edit_history
ISBN 095461206X | GNU Octave Manual Version 3 | See the print edition |