zshrc: Move ipv6-tunnel to its own function file
[grml-etc-core.git] / doc / grmlzshrc.t2t
index 0d1bec4..860115c 100644 (file)
@@ -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:
@@ -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,15 +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.
-
-: **2mp3_192()**
-Useful if you own players lacking ogg/flac support.
-Takes a list of "*.ogg" and "*.flac" files and transcodes them to mp3
-with a variable bitrate of at least 192, while preserving basic id3 tags.
-
 : **855resolution()**
 If 915resolution is available, issues a warning to the user to run it instead
 to modify the resolution on intel graphics chipsets.
@@ -441,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.
 
@@ -467,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.
@@ -517,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.
@@ -555,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.
 
@@ -573,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.
@@ -583,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).
@@ -640,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.
 
@@ -689,31 +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>
-
-: **lsdisk()**
-Uses udev's /dev/disk to list block devices with their LABEL, UUID and IDs.
-
-: **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)).
@@ -722,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.
@@ -774,59 +613,21 @@ Example usages:
 % ls -l *(e:'nt /reference/file':)
 ```
 
-: **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 temporary files from current directory. Asks for confirmation. Uses sudo if necessary.
-In detail it purges
- - common temp files like "*~", ".*~", "#*#", "*.o", "a.out", "*.orig", "*.rej", "*.cmo", "*.cmi" and ".*.swp"
- - core dumps
- - debconf backup files: "*.dpkg-old", "*.dkpg-new", "*.dpkg-dist"
- - gentoo dispatch-conf backups: ".cfg0000_*", ".mrg0000_*"
- - precompiled python code ("*.pyc", "*.pyo") as long as matching "*.py" source is also present
- - LaTeX temp files i.e. "*.(log|toc|aux|nav|snm|out|tex.backup|bbl|blg|bib.backup|vrb|lof|lot|hd|idx)" for any present "*.tex"
- - ghc temp files, as long as matching "*.hs" or "*.lhs" is also present
- - "*.mood(D)" Files which are missing their corresponding audio file
-
-: **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.
-
-: **rundirs()**
-Takes as first parameter a quoted string containing an exectuable command or function with arguments.
-Following that it takes a bunch of directories, which will then be traversed, executing the
-first argument in each one. E.g.: rundirs purge . **/*(/-/)
-
 : **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.
 
@@ -834,12 +635,6 @@ 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 files with the appropriate programs. If an URI
 starting with https, http or ftp is provided simple-extract tries to download
@@ -850,17 +645,11 @@ ending. simple-extract will not delete the original archive (even on .gz,.bz2 or
 : **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,
@@ -893,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.
@@ -978,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
@@ -1241,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