diff options
Diffstat (limited to 'Etc/FEATURES')
-rw-r--r-- | Etc/FEATURES | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/Etc/FEATURES b/Etc/FEATURES new file mode 100644 index 000000000..1953a5de1 --- /dev/null +++ b/Etc/FEATURES @@ -0,0 +1,74 @@ +------------ +ZSH FEATURES +------------ + +very close to ksh/sh grammar, with csh additions +most features of ksh, bash, and tcsh +can emulate ksh or POSIX sh +81 builtins, 102 options, 162 key bindings +short for loops, ex: for i (*.c) echo $i +select +shell functions +conditional expressions (test builtin, [ ... ], and ksh-style [[ ... ]]) +global aliases (may be expanded anywhere on the line) +directory stack access with =num +process substitution (vi =(cmd) edits the output of cmd) +generalized pipes (ls foo >>(cmd1) 2>>(cmd2) pipes stdout to cmd1 + and stderr to cmd2) +arithmetic expressions +advanced globbing: + ls **/file searches recursively for "file" in subdirectories + ls file<20-> matches file20, file30, file100, etc. + ls *.(c|pro) matches *.c and *.pro + ls *(R) matches only world-readable files + ls *.c~lex.c matches all .c files except lex.c +null command shorthands: + "< file" is same as "more <file" + "> file" is same as "cat >file" + ">> file" is same as "cat >>file" +ksh-style coprocesses +automatic file stream teeing (ls >foo >bar puts output in two places) +chpwd() function run every time you change directory (useful for + updating the status line) +job control +csh-style history +full vi line editing, including "c2w" and "y$" and such things +full emacs line editing +incremental history search +magic-space history +spelling correction +array parameters +$MACHTYPE, $VENDOR and $OSTYPE identify the host machine +$LINENO, $RANDOM, $SECONDS, $cdpath, $COLUMNS, $fignore, $HISTCHARS, $mailpath +$UID, $EUID, $GID, $EGID and $USERNAME can be assigned to +with autocd option, typing a directory name by itself is the same as + typing "cd dirname" +menu completion: pressing TAB repeatedly cycles through the possible matches +incremental path hashing +automatic process time reporting for commands that run over a certain limit +full tcsh-style prompt substitution +utmp login/logout reporting +with histverify option, performing csh-style history expansions causes the + input line to be brought up for editing instead of being executed +with sunkeyboardhack option, accidentally typed trailing ` characters + are removed from the input line (for those of you with Sun keyboards :-) ) +autoloaded functions (loaded from a file when they are first referenced) +"cd old new" replaces "old" with "new" in directory string +generalized argument completion, including: + - command name completion + - filename and path completion + - hostname completion + - key binding completion + - option completion + - variable name completion + - user-specified keyword completion + - anything else you can think of +prompt on right side of screen +directory stacks +history datestamps and execution time records +command scheduling (like at(1), but in the shell's context) +tty mode freezing +up to 9 startup files (but you only need 1 or 2) +really 8-bit clean, and we mean it this time +which -a cmd lists all occurrences of "cmd" in the path +dynamically loadable binary modules |