/usr/share/zsh/help/fc is in zsh-common 5.3.1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 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 ename is invoked
on a file containing these history events. If ename 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 com-
mand 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
options 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
append/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 -.
|