From c2ff977ddb1b8892fd1e374f3360b70290cfeabb Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 21 Oct 2005 09:51:54 +0000 Subject: 21898: insert-composed-char can take command line argument 21899: add "roadmap" to manual --- Doc/Zsh/roadmap.yo | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 Doc/Zsh/roadmap.yo (limited to 'Doc/Zsh/roadmap.yo') diff --git a/Doc/Zsh/roadmap.yo b/Doc/Zsh/roadmap.yo new file mode 100644 index 000000000..ad4c679e1 --- /dev/null +++ b/Doc/Zsh/roadmap.yo @@ -0,0 +1,150 @@ +texinode(Roadmap)(Invocation)(Introduction)(Top) +chapter(Roadmap) +cindex(roadmap) + +The Zsh Manual, like the shell itself, is large and often complicated. +This section of the manual provides some pointers to areas of the shell +that are likely to be of particular interest to new users, and indicates +where in the rest of the manual the documentation is to found. + +sect(When the shell starts) + +When it starts, the shell reads commands from various files. These can +be created or edited to customize the shell. See ifzman(the section +Startup/Shutdown Files in zmanref(zsh))\ +ifnzman(noderef(Files)). + +sect(Interactive use) + +Interaction with the shell uses the builtin Zsh Line Editor, ZLE. This is +described in detail in ifzman(zmanref(zshzle))\ +ifnzman(noderef(Zsh Line Editor)). + +The first decision a user must make is whether to use the Emacs or Vi +editing mode as the keys for editing are substantially different. Emacs +editing mode is probably more natural for beginners and can be selected +explicitly with the command tt(bindkey -e). + +A history mechanism for retrieving previously typed lines (most simply with +the Up or Down arrow keys) is available; note that, unlike other shells, +zsh will not save these lines when the shell exits unless you set +appropriate variables. See the description of the shell variables +(referred to in the documentation as parameters) tt(HISTFILE), tt(HISTSIZE) +and tt(SAVEHIST) in ifzman(zmanref(zshparams))\ +ifnzman(noderef(Parameters Used By The Shell)). + +The line editor provides an extensive completion system and the shell +is supplied for completions with many commonly used commands. Note +that the new completion system referred to as tt(compsys) is preferred +over the older tt(compctl) system. The completion system must be enabled +explicitly when the shell starts. For more information see +ifzman(zmanref(zshcompssy))\ +ifnzman(noderef(Completion System)). + +Apart from completion, the line editor is highly extensible by means of +shell functions. Some useful functions are provided with the shell; they +provide facilities such as: + +startitem() +item(tt(insert-composed-char))( +composing characters not found on the keyboard +) +item(tt(match-words-by-style))( +configuring what the line editor considers a word when moving or +deleting by word +) +item(tt(history-beginning-search-backward-end), etc.)( +alternative ways of searching the shell history +) +item(tt(replace-string), tt(replace-pattern))( +functions for replacing strings or patterns globally in the command line. +) +enditem() + +See ifzman(the section `ZLE Functions' in zmanref(zshcontrib))\ +ifnzman(noderef(ZLE Functions)) for descriptions of these. + +sect(Options) + +The shell has a large number of options for changing its behaviour. +These cover all aspects of the shell; browsing the full documentation is +the only good way to become acquainted with the many possibilities. See +ifzman(zmanref(zshoptions))\ +ifnzman(noderef(Options)). + +sect(Pattern matching) + +The shell has a rich set of patterns which are available for file matching +(described in the documentation as `filename generation' and also known for +historical reasons as `globbing') and for use when programming. These are +described in ifzman(the section `Filename Generation' in zmanref(zshexpn))\ +ifnzman(noderef(Filename Generation)). + +Of particular interest are the following patterns that are not commonly +supported by other systems of pattern matching: + +startitem() +item(tt(**))( +for matching over multiple directories +) +item(tt(~), tt(^))( +the ability to exclude patterns from matching when the tt(EXTENDED_GLOB) +option is set +) +item(tt(LPAR())var(...)tt(RPAR()))( +glob qualifiers, included in parentheses at the end of the pattern, +which select files by type (such as directories) or attribute (such as +size). +) +enditem() + +sect(General Comments on Syntax) + +Although the syntax of zsh is in ways similar to the Korn shell, and +therefore more remotely to the original UNIX shell, the Bourne shell, +its default behaviour does not entirely correspond to those shells. +General shell syntax is introduced in ifzman(the section `Shell Grammar' in +zmanref(zshmisc))\ +ifnzman(noderef(Shell Grammar)). + +One commonly encountered difference is that variables (other than arrays, a +particular type of variable) substituted onto the command line are not +split into words. See the description of the shell option +tt(SH_WORD_SPLIT) in ifzman(the section `Parameter Expansion' in +zmanref(zshexpn))\ +ifnzman(noderef(Parameter Expansion)). + +sect(Programming) + +The most convenient way of adding enhancements to the shell is typically +by writing a shell function and arranging for it to be autoloaded. +Functions are described in ifzman(the section `Functions' in +zmanref(zshmisc))\ +ifnzman(noderef(Functions)). + +A few general functions, other than those for the line editor described +above, are provided with the shell and are described in +ifzman(zmanref(zshcontrib))\ +ifnzman(noderef(User Contributions)). Features include: + +startitem() +item(tt(promptinit))( +a prompt theme system for changing prompts easily, see ifzman(the section +`Prompt Themes' +)\ +ifnzman(noderef(Prompt Themes)) +) +item(tt(zsh-mime-setup))( +a MIME-handling system which dispatches commands according to the suffix of +a file as done by graphical file managers +) +item(tt(zcalc))( +a calculator +) +item(tt(zargs))( +a version of tt(xargs) that makes the tt(find) command redundant +) +item(tt(zmv))( +a command for renaming files with patterns. +) +enditem() -- cgit 1.4.1