mirror of
https://github.com/zsh-users/zsh
synced 2024-11-05 16:08:45 +00:00
No description
Completion | ||
Config | ||
Doc | ||
Etc | ||
Functions | ||
Misc | ||
Src | ||
StartupFiles | ||
Test | ||
Util | ||
.cvsignore | ||
.distfiles | ||
.preconfig | ||
aclocal.m4 | ||
aczsh.m4 | ||
ChangeLog | ||
config.guess | ||
config.sub | ||
configure.ac | ||
FEATURES | ||
INSTALL | ||
install-sh | ||
LICENCE | ||
MACHINES | ||
Makefile.in | ||
mkinstalldirs | ||
NEWS | ||
README |
----------------- THE Z SHELL (ZSH) ----------------- Version ------- This is development code based on zsh version 4.2.1. Installing Zsh -------------- The instructions for compiling zsh are in the file INSTALL. You should also check the file MACHINES in the top directory to see if there are any special instructions for your particular architecture. Features -------- Zsh is a shell with lots of features. For a list of some of these, see the file FEATURES, and for the latest changes see NEWS. For more details, see the documentation. Possible incompatibilities --------------------------- Currently the only known incompatibilities between 4.2.0 and later versions are minor: Since 4.2.1: The "test" and "[" builtins now behave more like relevant Unix standards suggest they should. Previously they were a simple front-end to the same tests used by zsh's "[[" syntax. (The documentation was previously cagey about what "test" and "[" actually did.) "[[" has always been the recommended way of implementing tests within zsh. From 4.2.0 to 4.2.1: IPv6 addresses must be specified in square brackets in the zftp module and the function system built on top of the zftp module. Special traps for pseudosignals ZERR, DEBUG and EXIT are no longer executed inside other traps. Users may well have assumed this was the case anyway since the behaviour was not explicity documented. See the NEWS file for more detail. By default, a maximum function depth of 4096 is now compiled into the shell. This may be altered during configuration; see `Function depth' in INSTALL. Some particular differences you may notice between the 4.0 and 4.2 series of releases: The bash-compatibility zle functions described in the zshcontrib manual page have been removed as a more configurable set of editing widgets for dealing with words have been added. The following code in .zshrc will set up for bash-style word handling: autoload -U select-word-style select-word-style bash The `=prog' facility for expanding command paths (provided the EQUALS option is enabled, as it is by default) no longer expands aliases. It was felt this feature was underused and confusing. In 4.0, a literal `/' was quoted in the `src' text of a substitution of the form `${foo/src/rep}' or ${foo//src/rep} with two backslashes. This was documented, but inconsistent with normal quoting conventions and poorly implemented. The `/' now requires only one backslash to quote it whether or not the expression occurs in double quotes. For example: % foo=word/bird % print ${foo/\//-} "${foo/\//+}" word-bird word+bird Note also the following workaround which is valid in all versions of the shell that support this syntax: % slash=/ % foo=word/bird % print ${foo/$slash/-} "${foo/$slash/+}" In 4.0, the -M option to bindkey used the first non-option argument to specify the keymap, whereas it now uses an argument to the option. Hence: bindkey -M -R keymap a-z self-insert needs to be rewritten as bindkey -M keymap -R a-z self-insert The following form works in both versions: bindkey -R -M keymap a-z self-insert Documentation ------------- There are a number of documents about zsh in this distribution: Doc/Zsh/*.yo The master source for the zsh documentation is written in yodl. Yodl is a document language written by Karel Kubat. It is not required by zsh but but it is a nice program so you might want to get it anyway, especially if you are a zsh developer. It can be downloaded from ftp://ftp.lilypond.org/pub/yodl/ Doc/zsh*.1 Man pages in nroff format. These will be installed by "make install.man" or "make install". By default, these will be installed in /usr/local/man/man1, although you can change this with the --mandir option to configure or editing the user configuration section of the top level Makefile. Doc/zsh.texi Everything the man pages have, but in texinfo format. These will be installed by "make install.info" or "make install". By default, these will be installed in /usr/local/info, although you can change this with the --infodir option to configure or editing the user configuration section of the top level Makefile. Version 4.0 or above of the Texinfo tools are recommended for processing this file. Also include in the distribution are: Doc/intro.ms An introduction to zsh in troff format using the ms macros. This document explains many of the features that make zsh more equal than other shells. Unfortunately this is based on zsh-2.5 so some examples may not work without changes but it is still a good introduction. For more information, see the website, as described in the META-FAQ. If you do not have the necessary tools to process these documents, PostScript, ASCII, Info and DVI versions are available in the separate file zsh-doc.tar.gz at the archive sites listed in the META-FAQ. The distribution also contains a Perl script in Utils/helpfiles which can be used to extract the descriptions of builtin commands from the zshbuiltins manual page. See the comments at the beginning of the script about its usage. The files created by this script can be used by example function run-help located in the subdirectory Functions/Misc to show information about zsh builtins and run `man' on external commands. For this the shell variable HELPDIR should point to a directory containing the files generated by the helpfiles script. run-help should be unaliased before loading the run-help function. After that this function will be executed by the run-help ZLE function which is by default bound to ESC-h in emacs mode. Examples -------- Examples of zsh startup files are located in the subdirectory StartupFiles. Examples of zsh functions and scripts are located in the subdirectory Functions. Examples of completion control commands (compctl) are located in the file Misc/compctl-examples. Zsh FTP Sites, Web Pages, and Mailing Lists ------------------------------------------- The current list of zsh FTP sites, web pages, and mailing lists can be found in the META-FAQ. A copy is included in this distribution and is available separately at any of the zsh FTP sites. Common Problems and Frequently Asked Questions ---------------------------------------------- Zsh has a list of Frequently Asked Questions (FAQ) maintained by Peter Stephenson <pws@zsh.org>. It covers many common problems encountered when building, installing, and using zsh. A copy is included in this distribution in Etc/FAQ and is available separately at any of the zsh ftp sites. Zsh Maintenance and Bug Reports ------------------------------- Zsh is currently maintained by the members of the zsh-workers mailing list and coordinated by Peter Stephenson <coordinator@zsh.org>. Please send any feedback and bugs reports to <zsh-workers@sunsite.dk>. Reports are most helpful if you can reproduce the bug starting zsh with the -f option. This skips the execution of local startup files except /etc/zshenv. If a bug occurs only when some options set try to locate the option which triggers the bug. There is a script "reporter" in the subdirectory Util which will print out your current shell environment/setup. If you cannot reproduce the bug with "zsh -f", use this script and include the output from sourcing this file. This way, the problem you are reporting can be recreated. The known bugs in zsh are listed in the file Etc/BUGS. Check this as well as the Frequently Asked Questions (FAQ) list before sending a bug report. Note that zsh has some features which are not compatible with sh but these are not bugs. Most of these incompatibilities go away when zsh is invoked as sh or ksh (e.g. using a symbolic link). If you send a bug report to the list and are not a subscriber, please mention this in your message if you want a response. If you would like to contribute to the development and maintenance of zsh, then you should join the zsh-workers mailing list (check the META-FAQ for info on this). You should also read the "zsh-development-guide" located in the subdirectory Util. Contributors ------------ The people who have contributed to this software project are listed in Etc/CONTRIBUTORS.