View file File name : fc Content :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 -.