summaryrefslogtreecommitdiff
path: root/Doc/help/fc
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/help/fc')
-rw-r--r--Doc/help/fc110
1 files changed, 110 insertions, 0 deletions
diff --git a/Doc/help/fc b/Doc/help/fc
new file mode 100644
index 000000000..07fa8ae01
--- /dev/null
+++ b/Doc/help/fc
@@ -0,0 +1,110 @@
+fc [ -e ename ] [ -LI ] [ -m match ] [ old=new ... ] [ first [ last ] ]
+fc -l [ -LI ] [ -nrdfEiD ] [ -t timefmt ] [ -m match ]
+ [ old=new ... ] [ first [ last ] ]
+fc -p [ -a ] [ filename [ histsize [ savehistsize ] ] ]
+fc -P
+fc -ARWI [ filename ]
+ The fc command controls the interactive history mechanism. Note
+ that reading and writing of history options is only performed if
+ the shell is interactive. Usually this is detected automati-
+ cally, but it can be forced by setting the interactive option
+ when starting the shell.
+
+ The first two forms of this command select a range of events
+ from first to last from the history list. The arguments first
+ and last may be specified as a number or as a string. A nega-
+ tive number is used as an offset to the current history event
+ number. A string specifies the most recent event beginning with
+ the given string. All substitutions old=new, if any, are then
+ performed on the text of the events.
+
+ In addition to the number range,
+ -I restricts to only internal events (not from $HISTFILE)
+ -L restricts to only local events (not from other shells,
+ see SHARE_HISTORY in zshoptions(1) -- note that $HISTFILE
+ is considered local when read at startup)
+ -m takes the first argument as a pattern (should be quoted)
+ and only the history events matching this pattern are
+ considered
+
+ If first is not specified, it will be set to -1 (the most recent
+ event), or to -16 if the -l flag is given. If last is not spec-
+ ified, it will be set to first, or to -1 if the -l flag is
+ given. However, if the current event has added entries to the
+ history with `print -s' or `fc -R', then the default last for -l
+ includes all new history entries since the current event began.
+
+ When the -l flag is given, the resulting events are listed on
+ standard output. Otherwise the editor program specified by -e
+ ename is invoked on a file containing these history events. If
+ -e is not given, the value of the parameter FCEDIT is used; if
+ that is not set the value of the parameter EDITOR is used; if
+ that is not set a builtin default, usually `vi' is used. If
+ ename is `-', no editor is invoked. When editing is complete,
+ the edited command is executed.
+
+ The flag -r reverses the order of the events and the flag -n
+ suppresses event numbers when listing.
+
+ Also when listing,
+ -d prints timestamps for each event
+ -f prints full time-date stamps in the US `MM/DD/YY hh:mm'
+ format
+ -E prints full time-date stamps in the European `dd.mm.yyyy
+ hh:mm' format
+ -i prints full time-date stamps in ISO8601 `yyyy-mm-dd
+ hh:mm' format
+ -t fmt prints time and date stamps in the given format; fmt is
+ formatted with the strftime function with the zsh exten-
+ sions described for the %D{string} prompt format in the
+ section EXPANSION OF PROMPT SEQUENCES in zshmisc(1). The
+ resulting formatted string must be no more than 256 char-
+ acters or will not be printed
+ -D prints elapsed times; may be combined with one of the op-
+ tions above
+
+ `fc -p' pushes the current history list onto a stack and
+ switches to a new history list. If the -a option is also speci-
+ fied, this history list will be automatically popped when the
+ current function scope is exited, which is a much better solu-
+ tion than creating a trap function to call `fc -P' manually. If
+ no arguments are specified, the history list is left empty,
+ $HISTFILE is unset, and $HISTSIZE & $SAVEHIST are set to their
+ default values. If one argument is given, $HISTFILE is set to
+ that filename, $HISTSIZE & $SAVEHIST are left unchanged, and the
+ history file is read in (if it exists) to initialize the new
+ list. If a second argument is specified, $HISTSIZE & $SAVEHIST
+ are instead set to the single specified numeric value. Finally,
+ if a third argument is specified, $SAVEHIST is set to a separate
+ value from $HISTSIZE. You are free to change these environment
+ values for the new history list however you desire in order to
+ manipulate the new history list.
+
+ `fc -P' pops the history list back to an older list saved by `fc
+ -p'. The current list is saved to its $HISTFILE before it is
+ destroyed (assuming that $HISTFILE and $SAVEHIST are set appro-
+ priately, of course). The values of $HISTFILE, $HISTSIZE, and
+ $SAVEHIST are restored to the values they had when `fc -p' was
+ called. Note that this restoration can conflict with making
+ these variables "local", so your best bet is to avoid local dec-
+ larations for these variables in functions that use `fc -p'.
+ The one other guaranteed-safe combination is declaring these
+ variables to be local at the top of your function and using the
+ automatic option (-a) with `fc -p'. Finally, note that it is
+ legal to manually pop a push marked for automatic popping if you
+ need to do so before the function exits.
+
+ `fc -R' reads the history from the given file, `fc -W' writes
+ the history out to the given file, and `fc -A' appends the his-
+ tory out to the given file. If no filename is specified, the
+ $HISTFILE is assumed. If the -I option is added to -R, only
+ those events that are not already contained within the internal
+ history list are added. If the -I option is added to -A or -W,
+ only those events that are new since last incremental ap-
+ pend/write to the history file are appended/written. In any
+ case, the created file will have no more than $SAVEHIST entries.
+
+history
+ Same as fc -l.
+
+r Same as fc -e -.