zshrc: Move ipv6-tunnel to its own function file
[grml-etc-core.git] / doc / grmlzshrc.t2t
index 1d810ab..860115c 100644 (file)
@@ -1,13 +1,13 @@
 GRMLZSHRC
 
-June, 2010
+July, 2011
 
 %!target: man
 %!postproc(man): "^(\.TH.*) 1 "  "\1 5 "
 
 
 = NAME =
-grmlzshrc - grml's zsh setup
+grmlzshrc - Grml's zsh setup
 
 
 = SYNOPSIS =
@@ -15,7 +15,7 @@ grmlzshrc - grml's zsh setup
 
 
 = DESCRIPTION =
-The grml project provides a fairly exhaustive interactive setup (referred to
+The Grml project provides a fairly exhaustive interactive setup (referred to
 as //grmlzshrc// throughout this document) for the amazing unix shell zsh
 (http://zsh.sourceforge.net). This is the reference manual for that
 setup.
@@ -28,6 +28,18 @@ root user (**EUID** == 0) only a subset of features is loaded by default. This
 behaviour can be altered by setting the **GRML_ALWAYS_LOAD_ALL** STARTUP
 VARIABLE (see below).
 
+Users may want to keep an up-to-date version of the setup (possibly from the
+git-sources) in //~/.zshrc//. If that happens on a system where the global
+zshrc is also a //grmlzshrc// (but possibly an older one), you can inhibit
+loading the global version by doing:
+\
+```
+echo setopt no_global_rcs >> ~/.zshenv
+```
+
+Note, that this will disable //ANY// global files, except for the global
+zshenv file.
+
 = STARTUP VARIABLES =
 Some of the behaviour of //grmlzshrc// can be altered by setting certain shell
 variables. These may be set temporarily when starting zsh like this:
@@ -45,7 +57,7 @@ A non zero value activates a handler, which is called when a command can not
 be found. The handler is defined by GRML_ZSH_CNF_HANDLER (see below).
 
 : **GRML_ALWAYS_LOAD_ALL**
-Enables the whole grml setup for root, if set to a non zero value.
+Enables the whole Grml setup for root, if set to a non zero value.
 
 : **GRML_ZSH_CNF_HANDLER**
 This variable contains the handler to be used by COMMAND_NOT_FOUND (see above)
@@ -59,7 +71,7 @@ grml-small.
 Where zsh saves the history. Default: ${HOME}/.zsh_history.
 
 : **HISTSIZE**
-Number of commands to be kept in the history. On a grml-CD this defaults to
+Number of commands to be kept in the history. On a Grml-CD this defaults to
 500, on a hard disk installation to 5000.
 
 : **MAILCHECK**
@@ -82,7 +94,7 @@ Show time (user, system and cpu) used by external commands, if they run longer
 than the defined number of seconds (default: 5).
 
 : **SAVEHIST**
-Number of commands to be stored in ${HISTFILE}. Defaults to 1000 on a grml-CD
+Number of commands to be stored in ${HISTFILE}. Defaults to 1000 on a Grml-CD
 and to 10000 on an installation on hard disk.
 
 : **watch**
@@ -286,9 +298,6 @@ available via the usual history lookup widgets.
 //grmlzshrc// sets some environment variables, which influence the
 behaviour of applications.
 
-: **BROWSER**
-If X is running this is set to "firefox", otherwise to "w3m".
-
 : **COLORTERM**
 Set to "yes". Some applications read this to learn about properties
 of the terminal they are running in.
@@ -412,9 +421,18 @@ Deletes a word left of the cursor; seeing '/' as additional word separator.
 : **CTRL-x-1**
 Jump right after the first word.
 
+: **CTRL-x-M()**
+Create directory under cursor or the selected area.
+To select an area press ctrl-@ and use the cursor.
+Use case: you type "mv abc ~/testa/testb/testc/" and remember that the
+directory does not exist yet -> press **CTRL-xM** and problem solved.
+
 : **CTRL-x-p**
 Searches the last occurence of string before the cursor in the command history.
 
+: **CTRL-x-z**
+Display help on keybindings and zsh line editor. Press consecutively to page through content.
+
 : **CTRL-z**
 Brings a job, which got suspended with CTRL-z back to foreground.
 
@@ -423,10 +441,6 @@ Brings a job, which got suspended with CTRL-z back to foreground.
 //grmlzshrc// comes with a wide array of defined shell functions to ease the
 user's life.
 
-: **2html()**
-Converts plaintext files to HTML using vim. The output is written to
-<filename>.html.
-
 : **855resolution()**
 If 915resolution is available, issues a warning to the user to run it instead
 to modify the resolution on intel graphics chipsets.
@@ -436,16 +450,9 @@ Lists files in current directory, which have been accessed within the
 last N days. N is an integer to be passed as first and only argument.
 If no argument is specified N is set to 1.
 
-: **agoogle()**
-Searches for USENET postings from authors using google groups.
-
 : **allulimit()**
 Sets all ulimit values to "unlimited".
 
-: **ansi-colors()**
-Prints a colored table of available ansi color codes (to be used in escape
-sequences) and the colors they represent.
-
 : **any()**
 Lists processes matching given pattern.
 
@@ -462,38 +469,20 @@ session if a detached session is around or detach a currently attached screen or
 else start a new screen.  This is especially useful for roadwarriors using GNU
 screen and ssh.
 
-: **audioburn()**
-Burns the files in ~/ripps (see audiorip() below) to an audio CD.
-Then prompts the user if she wants to remove that directory. You might need
-to tell audioburn which cdrom device to use like:
-"DEVICE=/dev/cdrom audioburn"
-
-: **audiorip()**
-Creates directory ~/ripps, if it does not exist. Then rips audio CD into
-it. Then prompts the user if she wants to burn a audio CD with audioburn()
-(see above). You might need to tell audiorip which cdrom device to use like:
-"DEVICE=/dev/cdrom audioburn"
-
 : **bk()**
 Simple backup of a file or directory using cp(1). The target file name is the
 original name plus a time stamp attached. Symlinks and file attributes like mode,
 ownership and timestamps are preserved.
 
-: **brltty()**
-The brltty(1) program provides a braille display, so a blind person can access
-the console screen. This wrapper function works around problems with some
-environments (f. e. utf8).
-
-: **cdiff()**
-Runs a recursive diff(1) over two given directories trying to find the
-smallest set of changes. Three lines of context will be printed and binary
-files filtered out.
-
 : **cdrecord()**
 If the original cdrecord is not installed, issues a warning to the user to
 use the wodim binary instead. Wodim is the debian fork of Joerg Schillings
 cdrecord.
 
+: **cdt()**
+Creates a temporary directory using mktemp. Then changes current
+working directory to it.
+
 : **changed()**
 Lists files in current directory, which have been changed within the
 last N days. N is an integer to be passed as first and only argument.
@@ -512,35 +501,9 @@ grml systems with autologin.
 Changes current directory to the one supplied by argument and lists the files
 in it, including file names starting with ".".
 
-: **cvsa()**
-Adds and commits the given files using cvs(1). The commit message will be
-'initial checkin'.
-
-: **cvsd()**
-Shows a cvs diff of the arguments in $PAGER.
-
-: **cvsl()**
-Shows the cvs log in $PAGER.
-
-: **cvsq()**
-Runs a cvs update.
-
-: **cvsr()**
-Generates a changelog using rcs2log and shows it in $PAGER.
-
-: **cvss()**
-Shows cvs status of given files.
-
 : **dchange()**
 Shows the changelog of given package in $PAGER.
 
-: **debbug()**
-Searches the Debian bug tracking system (bugs.debian.org) for Bug numbers,
-email addresses of submitters or any string given on the command line.
-
-: **debbugm()**
-Shows bug report for debian given by number in mailbox format.
-
 : **debian2hd()**
 Tells the user to use grml-debootstrap, if she wants to install debian to
 harddisk.
@@ -550,17 +513,6 @@ A trick from $LINUX-KERNELSOURCE/Documentation/power/swsusp.txt. It brings
 back interactive responsiveness after suspend, when the system is swapping
 heavily.
 
-: **dirspace()**
-Shows the disk usage of the directories given in human readable format;
-defaults to $path.
-
-: **disassemble()**
-Translates C source code to assembly and ouputs both.
-
-: **dmoz()**
-Searches for the first argument (optional) in the Open Directory Project
-(See http://www.dmoz.org/docs/en/about.html).
-
 : **dnews()**
 Shows the NEWS file for the given package in $PAGER.
 
@@ -568,9 +520,6 @@ Shows the NEWS file for the given package in $PAGER.
 Takes packagename as argument. Sets current working directory to
 /usr/share/doc/<packagename> and prints out a directory listing.
 
-: **dwicti()**
-Looks up the first argument (optional) in the german Wiktionary
-which is an online dictionary (See: http://de.wiktionary.org/).
 
 : **edalias()**
 Edit given alias.
@@ -578,49 +527,12 @@ Edit given alias.
 : **edfunc()**
 Edit given shell function.
 
-: **ewicti()**
-Looks up the first argument (optional in the english Wiktionary
-which is an online dictionary (See: http://en.wiktionary.org/).
-
-: **exirename()**
-Renames image files based on date/time informations in their exif headers.
-
-: **fir()**
-Opens given URL with Firefox (Iceweasel on Debian). If there is already an
-instance of firefox running, attaches to the first window found and opens the
-URL in a new tab (this even works across an ssh session).
-
-: **fluxkey-change()**
-Switches the key combinations for changing current workspace under fluxbox(1)
-from Alt-[0-9] to Alt-F[0-9] and vice versa by rewriting $HOME/.fluxbox/keys.
-Requires the window manager to reread configuration to take effect.
-
 : **freload()**
 Reloads an autoloadable shell function (See autoload in zshbuiltins(1)).
 
-: **genthumbs()**
-A simple thumbnails generator. Resizes images (i. e. files that end in ".jpg",
-".jpeg", ".gif" or ".png") to 100x200. Output files are named "thumb-<original
-filename>". Creates an index.html with title "Images" showing the
-thumbnails as clickable links to the respective original file.
-//Warning:// On start genthumbs() silently removes a possibly existing "index.html"
-and all files and/or directories beginning with "thumb-" in current directory!
-
 : **get_tw_cli()**
 Fetches 3ware RAID controller software using get_3ware(1).
 
-: **gex()**
-Performs an exact (i. e. quoted) web search using Google.
-
-: **ggogle()**
-Searches the arguments on Google Groups, a web to USENET gateway.
-
-: **google()**
-Searches the search engine Google using arguments as search string.
-
-: **greph()**
-Searches the zsh command history for a regular expression.
-
 : **hex()**
 Prints the hexadecimal representation of the number supplied as argument
 (base ten only).
@@ -635,18 +547,6 @@ argument means last revision).
 : **hidiff()**
 Outputs highlighted diff; needs highstring(1).
 
-: **hl()**
-Shows source files in less(1) with syntax highlighting. Run "hl -h"
-for detailed usage information.
-
-: **ic_get()**
-Queries IMAP server (first parameter) for its capabilities. Takes
-port number as optional second argument.
-
-: **ipv6-tunnel()**
-Sets up an IPv6 tunnel on interface sit1. Needs one argument -
-either "start", "stop" or "status".
-
 : **is4()**
 Returns true, if zsh version is equal or greater than 4, else false.
 
@@ -684,28 +584,6 @@ environment variables to UTF-8.
 : **isutfenv()**
 Returns true, if run within an utf environment, else false.
 
-: **iwclient()**
-Searches a wireless interface and runs dhclient(8) on it.
-
-: **lcheck()**
-Lists libraries that define the symbol containing the string given as
-parameter.
-
-: **limg()**
-Lists images (i. e. files ending with ".jpg", ".gif" or ".png") in current
-directory.
-
-: **linenr()**
-Prints specified range of (numbered) lines of a file.
-Usage: linenr <start>[,<end>] <file>
-
-: **makereadable()**
-Creates a PostScript and a PDF file (basename as first argument) from
-source code files.
-
-: **man2()**
-Displays manpage in a streched style.
-
 : **manzsh()**
 Shows the zshall manpage and jumps to the first match of the regular
 expression optionally given as argument (Needs qma(1)).
@@ -714,46 +592,15 @@ expression optionally given as argument (Needs qma(1)).
 Creates directory including parent directories, if necessary. Then changes
 current working directory to it.
 
-: **mdiff()**
-Diffs the two arguments recursively and writes the
-output (unified format) to a timestamped file.
-
-: **memusage()**
-Prints the summarized memory usage in bytes.
-
-: **mggogle()**
-Searches Google Groups for a USENET message-ID.
-
 : **minimal-shell()**
 Spawns a minimally set up MirBSD Korn shell. It references no files in /usr,
 so that file system can be unmounted.
 
-: **mkaudiocd()**
-Renames all mp3 files in ~/ripps (see audiorip above) to lowercase and
-replaces spaces in file names with underscores. Then mkaudiocd()
-normalizes the files and recodes them to WAV.
-
-: **mkiso()**
-Creates an iso9660 filesystem image with Rockridge and Joliet extensions
-enabled using mkisofs(8). Prompts the user for volume name, filename and
-target directory.
-
-: **mkmaildir()**
-Creates a directory with first parameter as name inside $MAILDIR_ROOT
-(defaults to $HOME/Mail) and subdirectories cur, new and tmp.
-
-: **mmake()**
-Runs "make install" and logs the output under ~/.errorlogs/; useful for
-a clean deinstall later.
-
 : **modified()**
 Lists files in current directory, which have been modified within the
 last N days. N is an integer to be passed as first and only argument.
 If no argument is specified N is set to 1.
 
-: **netcraft()**
-Asks netcraft.com for informations about the site given as argument.
-
 : **nt()**
 A helper function for the "e" glob qualifier to list all files newer
 than a reference file.
@@ -766,50 +613,21 @@ Example usages:
 % ls -l *(e:'nt /reference/file':)
 ```
 
-: **ogg2mp3_192()**
-Recodes an ogg file to mp3 with a bitrate of 192.
-
-: **oleo()**
-Translates the given word using the english - german online
-dictionary dict.leo.org.
-
 : **peval()**
 Evaluates a perl expression; useful as command line
 calculator, therefore also available as "calc".
 
-: **plap()**
-Lists all occurrences of the string given as argument in current $PATH.
-
 : **profile()**
 Runs a command in $SHELL with profiling enabled (See startup variable
 ZSH_PROFILE_RC above).
 
-: **purge()**
-Removes typical temporary files (i. e. files like "*~", ".*~", "#*#", "*.o",
-"a.out", "*.core", "*.cmo", "*.cmi" and ".*.swp") from current directory.
-Asks for confirmation.
-
-: **readme()**
-Opens all README-like files in current working directory with the program
-defined in the $PAGER environment variable.
-
 : **refunc()**
 Reloads functions given as parameters.
 
-: **regcheck()**
-Checks whether a regular expression (first parameter) matches a string
-(second parameter) using perl.
-
 : **salias()**
 Creates an alias whith sudo prepended, if $EUID is not zero. Run "salias -h"
 for details. See also xunfunction() below.
 
-: **selhist()**
-Greps the history for the string provided as parameter and shows the numbered
-findings in default pager. On exit of the pager the user is prompted for a
-number. The shells readline buffer is then filled with the corresponding
-command line.
-
 : **setenv()**
 Reimplementation of the csh(1) builtin setenv.
 
@@ -817,30 +635,21 @@ Reimplementation of the csh(1) builtin setenv.
 Lists the contents of a (compressed) archive with the appropriate programs.
 The choice is made along the filename extension.
 
-: **shtar()**
-Lists the content of a gzipped tar archive in default pager.
-
-: **shzip()**
-Shows the content of a zip archive in default pager.
-
 : **simple-extract()**
-Tries to uncompress/unpack given file with the appropriate programs. The
-choice is made along the filename ending.
+Tries to uncompress/unpack given files with the appropriate programs. If an URI
+starting with https, http or ftp is provided simple-extract tries to download
+and then uncompress/unpack the file. The choice is made along the filename
+ending. simple-extract will not delete the original archive (even on .gz,.bz2 or
+.xz) unless you use the '-d' option.
 
 : **sll()**
 Prints details of symlinks given as arguments.
 
-: **slow_print()**
-Prints the arguments slowly by sleeping 0.08 seconds between each character.
-
 : **smartcompress()**
 Compresses/archives the file given as first parameter. Takes an optional
 second argument, which denotes the compression/archive type as typical
 filename extension; defaults to "tar.gz".
 
-: **smart-indent()**
-Indents C source code files given; uses Kernighan & Ritchie style.
-
 : **sshot()**
 Creates directory named shots in user's home directory, if it does not yet
 exist and changes current working directory to it. Then sleeps 5 seconds,
@@ -873,75 +682,29 @@ Example usage:
 % Restart ssh
 ```
 
-: **status()**
-Shows some information about current system status.
-
-: **swiki()**
-Searches articles in the german Wikipedia for the term given as argument.
-
-: **swspeak()**
-Sets up software synthesizer by calling swspeak-setup(8). Kernel boot option
-swspeak must be set for this to work.
-
 : **trans()**
 Translates a word from german to english (-D) or vice versa (-E).
 
 : **uchange()**
 Shows upstreams changelog of a given package in $PAGER.
 
-: **udiff()**
-Makes a unified diff of the command line arguments trying hard to find a
-smaller set of changes. Descends recursively into subdirectories. Ignores
-hows some information about current status.
-
-: **uopen()**
-Downloads and displays a file using a suitable program for its
-Content-Type.
-
 : **uprint()**
 Works around the "print -l ${(u)foo}"-limitation on zsh older than 4.2.
 
-: **urlencode()**
-Takes a string as its first argument and prints it RFC 2396 URL encoded to
-standard out.
-
 : **utf2iso()**
 Changes every occurrence of the string UTF-8 or utf-8 in environment
 variables to iso885915.
 
-: **viless()**
-Vim as pager.
-
 : **vim()**
 Wrapper for vim(1). It tries to set the title and hands vim the environment
 variable VIM_OPTIONS on the command line. So the user may define command
 line options, she always wants, in her .zshrc.local.
 
-: **vman()**
-Use vim(1) as manpage reader.
-
 : **whatwhen()**
 Searches the history for a given pattern and lists the results by date.
 The first argument is the search pattern. The second and third ones are
 optional and denote a search range (default: -100).
 
-: **weather()**
-Retrieves and prints weather information from "http://weather.noaa.gov".
-The first and only argument is the ICAO code for the desired station.
-For a list of ICAO codes see
-"http://en.wikipedia.org/wiki/List_of_airports_by_ICAO_code".
-
-: **wikide()**
-Looks up the argument on Wikipedia (german).
-
-: **wikien()**
-Looks up the argument on Wikipedia (english).
-
-: **wodeb()**
-Searches the list of official debian packages for the term given as
-first argument. The optional second argument denotes the distribution
-(stable, testing or unstable) and defaults to unstable.
-
 : **xcat()**
 Tries to cat(1) file(s) given as parameter(s). Always returns true.
 See also xunfunction() below.
@@ -958,12 +721,6 @@ arguments for details.
 : **xunfunction()**
 Removes the functions salias, xcat, xsource, xunfunction and zrcautoload.
 
-: **zg()**
-Search for patterns in grml's zshrc using perl. zg takes no or exactly one
-option plus a non empty pattern. Run zg without any arguments for a listing
-of available command line switches. For a zshrc not in /etc/zsh, set the
-GRML_ZSHRC environment variable.
-
 : **zrcautoload()**
 Wrapper around the autoload builtin. Loads the definitions of functions
 from the file given as argument. Searches $fpath for the file. See also
@@ -1221,6 +978,9 @@ Short rmdir(1) (remove directory).
 : **rm** (//nocorrect rm//)
 rm(1) without spelling correction.
 
+: **rmcdir** (//'cd ..; rmdir $OLDPWD || cd $OLDPWD//)
+rmdir current working directory
+
 : **screen** (///usr/bin/screen -c ${HOME}/.screenrc//)
 If invoking user is root, starts screen session with /etc/grml/screenrc
 as config file. If invoked by a regular user, start a screen session
@@ -1499,10 +1259,10 @@ Beckert <abe@deuxchevaux.org>.
 
 
 = COPYRIGHT =
-Copyright (c) 2009-2010 grml project <http://grml.org>
+Copyright (c) 2009-2011 Grml project <http://grml.org>
 
 This manpage is distributed under the terms of the GPL version 2.
 
 Most parts of grml's zshrc are distributed under the terms of GPL v2, too,
-except for **accept-line()** and **vcs_info()**, which are distributed under
-the same conditions as zsh itself (which is BSD-like).
+except for **accept-line()** which are distributed under the same conditions
+as zsh itself (which is BSD-like).