diff options
Diffstat (limited to 'Doc/help/fc')
-rw-r--r-- | Doc/help/fc | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/Doc/help/fc b/Doc/help/fc new file mode 100644 index 000000000..5a4b149e2 --- /dev/null +++ b/Doc/help/fc @@ -0,0 +1,113 @@ +fc [ -e ename ] [ -s ] [ -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. + + The range of events selected by numbers can be narrowed further + by the following flags. + -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 (which 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 `-s' is equivalent to `-e -'. 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 -. |