Update date in GRMLZSHRC and add online rule to Makefile
[grml-etc-core.git] / doc / grmlzshrc.t2t
index 9ca442f..382c80f 100644 (file)
@@ -1,6 +1,6 @@
 GRMLZSHRC
 
 GRMLZSHRC
 
-August, 2009
+Oktober, 2009
 
 %!target: man
 %!postproc(man): "^(\.TH.*) 1 "  "\1 5 "
 
 %!target: man
 %!postproc(man): "^(\.TH.*) 1 "  "\1 5 "
@@ -26,7 +26,10 @@ features are enabled in every version).
 //grmlzshrc// behaves differently depending on which user loads it. For the
 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
 //grmlzshrc// behaves differently depending on which user loads it. For the
 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).
+VARIABLE (see below). Also the umask(1) for the root user is set to 022,
+while for regular users it is set to 002. So read/write permissions
+for the regular user and her group are set for new files (keep that
+in mind on systems, where regular users share a common group).
 
 = STARTUP VARIABLES =
 Some of the behaviour of //grmlzshrc// can be altered by setting certain shell
 
 = STARTUP VARIABLES =
 Some of the behaviour of //grmlzshrc// can be altered by setting certain shell
@@ -226,6 +229,103 @@ available via the usual history lookup widgets.
 
 
 = REFERENCE =
 
 
 = REFERENCE =
+== ENVIRONMENT VARIABLES ==
+//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.
+
+: **QTDIR**
+Holds the path to shared files for the C++ application framework QT
+(version 3 or 4).
+
+
+== OPTIONS ==
+Apart from zsh's default options, //grmlzshrc// sets some options
+that change the behaviour of zsh. Options that change Z-shell's default
+settings are marked by <grml>. But note, that zsh's defaults vary depending
+on its emulation mode (csh, ksh, sh, or zsh). For details, see zshoptions(1).
+
+: **append_history**
+Zsh sessions, that use //grmlzshrc//, will append their history list to the
+history file, rather than replace it. Thus, multiple parallel zsh sessions
+will all have the new entries from their history lists added to the history
+file, in the order that they exit. The file will still be periodically
+re-written to trim it when the number of lines grows 20% beyond the value
+specified by $SAVEHIST.
+
+: **auto_cd** <grml>
+If a command is issued that can't be executed as a normal command, and the
+command is the name of a directory, perform the cd command to that directory.
+
+: **auto_pushd** <grml>
+Make cd push the old directory onto the directory stack.
+
+: **completeinword** <grml>
+If the cursor is inside a word, completion is done from both ends;
+instead of moving the cursor to the end of the word first and starting
+from there.
+
+: **extended_glob** <grml>
+Treat the '#', '~' and '^' characters as active globbing pattern characters.
+
+: **extended_history** <grml>
+Save each command's beginning timestamp (in seconds since the epoch) and the
+duration (in seconds) to the history file.
+
+: **hash_list_all**
+Whenever a command completion is attempted, make sure the entire command
+path is hashed first. This makes the first completion slower.
+
+: **histignorealldups** <grml>
+If a new command line being added to the history list duplicates an
+older one, the older command is removed from the list, even if it is
+not the previous event.
+
+: **histignorespace** <grml>
+Remove command lines from the history list when the first character on
+the line is a space, or when one of the expanded aliases contains a
+leading space. Note that the command lingers in the internal history
+until the next command is entered before it vanishes.
+
+: **longlistjobs** <grml>
+List jobs in long format by default.
+
+: **nobeep** <grml>
+Avoid to beep on errors in zsh command line editing (zle).
+
+: **noglobdots**
+A wildcard character never matches a leading '.'.
+
+: **nohup** <grml>
+Do not send the hangup signal (HUP:1) to running jobs when the shell exits.
+
+: **nonomatch** <grml>
+If a pattern for filename generation has no matches, do not print an error
+and leave it unchanged in the argument list. This also applies to file
+expansion of an initial `~' or `='.
+
+: **notify**
+Report the status of background jobs immediately, rather than waiting until
+just before printing a prompt.
+
+: **pushd_ignore_dups** <grml>
+Don't push multiple copies of the same directory onto the directory stack.
+
+: **share_history** <grml>
+As each line is added to the history file, it is checked to see if anything
+else was written out by another shell, and if so it is included in the
+history of the current shell too. Using !-style history, the commands from
+the other sessions will not appear in the history list unless you explicitly
+type the "history" command. This option is activated for zsh versions >= 4,
+only.
+
+
 == KEYBINDINGS ==
 Apart from zsh's default key bindings, //grmlzshrc// comes with its own set of
 key bindings. Note that bindings like **ESC-e** can also be typed as **ALT-e**
 == KEYBINDINGS ==
 Apart from zsh's default key bindings, //grmlzshrc// comes with its own set of
 key bindings. Note that bindings like **ESC-e** can also be typed as **ALT-e**
@@ -234,6 +334,18 @@ on PC keyboards.
 : **ESC-e**
 Edit the current command buffer in your favourite editor.
 
 : **ESC-e**
 Edit the current command buffer in your favourite editor.
 
+: **ESC-v**
+Deletes a word left of the cursor; seeing '/' as additional word separator.
+
+: **CTRL-x-1**
+Jump right after the first word.
+
+: **CTRL-x-p**
+Searches the last occurence of string before the cursor in the command history.
+
+: **CTRL-z**
+Brings a job, which got suspended with CTRL-z back to foreground.
+
 
 == SHELL FUNCTIONS ==
 //grmlzshrc// comes with a wide array of defined shell functions to ease the
 
 == SHELL FUNCTIONS ==
 //grmlzshrc// comes with a wide array of defined shell functions to ease the
@@ -243,9 +355,16 @@ user's life.
 Converts plaintext files to HTML using vim. The output is written to
 <filename>.html.
 
 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.
+
 : **agoogle()**
 Searches for USENET postings from authors using google groups.
 
 : **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.
 : **ansi-colors()**
 Prints a colored table of available ansi color codes (to be used in escape
 sequences) and the colors they represent.
@@ -276,10 +395,28 @@ 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).
 
 the console screen. This wrapper function works around problems with some
 environments (f. e. utf8).
 
+: **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.
+
+: **check_com()**
+Returns true if given command exists either as program, function, alias,
+builtin or reserved word. If the option -c is given, only returns true,
+if command is a program.
+
+: **checkhome()**
+Changes directory to $HOME on first invocation of zsh. This is neccessary on
+grml systems with autologin.
+
 : **cl()**
 Changes current directory to the one supplied by argument and lists the files
 in it, including file names starting with ".".
 
 : **cl()**
 Changes current directory to the one supplied by argument and lists the files
 in it, including file names starting with ".".
 
+: **d()**
+Presents a numbered listing of the directory stack. Then changes current
+working directory to the one chosen by the user.
+
 : **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.
 : **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.
@@ -287,10 +424,29 @@ email addresses of submitters or any string given on the command line.
 : **debbugm()**
 Shows bug report for debian given by number in mailbox format.
 
 : **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.
+
+: **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.
+
 : **doc()**
 Takes packagename as argument. Sets current working directory to
 /usr/share/doc/<packagename> and prints out a directory listing.
 
 : **doc()**
 Takes packagename as argument. Sets current working directory to
 /usr/share/doc/<packagename> and prints out a directory listing.
 
+: **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.
 : **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.
@@ -304,6 +460,36 @@ 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!
 
 //Warning:// On start genthumbs() silently removes a possibly existing "index.html"
 and all files and/or directories beginning with "thumb-" in current directory!
 
+: **getair()**
+Tries to download, unpack and run AIR (imaging software) version 1.2.8.
+
+: **getgizmo()**
+Tries to download and install Gizmo (VoIP software) for Debian.
+
+: **getskype()**
+Tries to download and install Skype (VoIP software) for Debian.
+
+: **getskypebeta()**
+Downloads and installs newer version of Skype.
+
+: **getxlite()**
+Tries to download and unpack X-lite (VoIP software) from counterpath.com into
+~/tmp.
+
+: **git-get-diff()**
+Opens a specific git commitdiff from kernel.org in default browser. Tree is
+chosen by the environment variable GITTREE which defaults to Linus Torvalds'
+kernel tree.
+
+: **git-get-commit()**
+Opens a specific git commit from kernel.org in default browser. The tree to
+fetch from is controlled by the environment variable GITTREE which defaults
+to Linus Torvalds' kernel tree.
+
+: **git-get-plaindiff()**
+Fetches specific git diff from kernel.org. The tree is controlled by the
+environment variable GITTREE which defaults to Linus Torvalds' kernel tree.
+
 : **greph()**
 Searches the zsh command history for a regular expression.
 
 : **greph()**
 Searches the zsh command history for a regular expression.
 
@@ -311,6 +497,17 @@ Searches the zsh command history for a regular expression.
 Prints the hexadecimal representation of the number supplied as argument
 (base ten only).
 
 Prints the hexadecimal representation of the number supplied as argument
 (base ten only).
 
+: **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.
+
 : **is4()**
 Returns true, if zsh version is equal or greater than 4, else false.
 
 : **is4()**
 Returns true, if zsh version is equal or greater than 4, else false.
 
@@ -341,6 +538,10 @@ Returns true, if running on a grml system from a live cd, else false.
 : **isgrmlsmall()**
 Returns true, if run on grml-small, else false.
 
 : **isgrmlsmall()**
 Returns true, if run on grml-small, else false.
 
+: **iso2utf()**
+Changes every occurrence of the string iso885915 or ISO885915 in
+environment variables to UTF-8.
+
 : **isutfenv()**
 Returns true, if run within an utf environment, else false.
 
 : **isutfenv()**
 Returns true, if run within an utf environment, else false.
 
@@ -352,19 +553,53 @@ parameter.
 Lists images (i. e. files ending with ".jpg", ".gif" or ".png") in current
 directory.
 
 Lists images (i. e. files ending with ".jpg", ".gif" or ".png") in current
 directory.
 
+: **makereadable()**
+Creates a PostScript and a PDF file (basename as first argument) from
+source code files.
+
+: **man2()**
+Displays manpage in a streched style.
+
 : **mcd()**
 Creates directory including parent directories, if necessary. Then changes
 current working directory to it.
 
 : **mcd()**
 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.
+
 : **minimal-shell()**
 Spawns a absolute minimal Korn shell. It references no files in /usr, so
 that file system can be unmounted.
 
 : **minimal-shell()**
 Spawns a absolute minimal 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.
 
 : **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.
+
+: **new()**
+Lists files in current directory, which have been modified within the
+last N days. N is an integer required as first and only argument.
+
+: **ogg2mp3_192()**
+Recodes an ogg file to mp3 with a bitrate of 192.
+
 : **peval()**
 Evaluates a perl expression; useful as command line
 calculator, therefore also available as "calc".
 : **peval()**
 Evaluates a perl expression; useful as command line
 calculator, therefore also available as "calc".
@@ -381,10 +616,17 @@ Asks for confirmation.
 Opens all README-like files in current working directory with the program
 defined in the $PAGER environment variable.
 
 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.
 
 : **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
 : **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
@@ -413,6 +655,9 @@ 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".
 
 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,
 : **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,
@@ -420,6 +665,24 @@ so you have plenty of time to switch desktops/windows. Then makes a screenshot
 of the current desktop. The result is stored in ~/shots to a timestamped
 jpg file.
 
 of the current desktop. The result is stored in ~/shots to a timestamped
 jpg file.
 
+: **ssl-cert-fingerprints**
+Prints the SHA512, SHA256, SHA1 and MD5 digest of a x509 certificate.
+First and only parameter must be a file containing a certificate. Use
+/dev/stdin as file if you want to pipe a certificate to these
+functions.
+
+: **ssl-cert-info**
+Prints all information of a x509 certificate including the SHA512,
+SHA256, SHA1 and MD5 digests. First and only parameter must be a file
+containing a certificate. Use /dev/stdin as file if you want to pipe a
+certificate to this function.
+
+: **ssl-cert-sha512(), ssl-cert-sha256(), ssl-cert-sha1(), ssl-cert-md5()**
+Prints the SHA512, SHA256, SHA1 respective MD5 digest of a x509
+certificate. First and only parameter must be a file containing a
+certificate. Use /dev/stdin as file if you want to pipe a certificate
+to this function.
+
 : **startx()**
 Initializes an X session using startx(1) if /etc/X11/xorg.conf exists, else
 issues a Warning to use the grml-x(1) script. Can be overridden by using
 : **startx()**
 Initializes an X session using startx(1) if /etc/X11/xorg.conf exists, else
 issues a Warning to use the grml-x(1) script. Can be overridden by using
@@ -428,15 +691,33 @@ issues a Warning to use the grml-x(1) script. Can be overridden by using
 : **status()**
 Shows some information about current system status.
 
 : **status()**
 Shows some information about current system status.
 
+: **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).
+
 : **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.
 
 : **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.
 
 : **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.
 
 : **viless()**
 Vim as pager.
 
@@ -448,17 +729,43 @@ line options, she always wants, in her .zshrc.local.
 : **vman()**
 Use vim(1) as manpage reader.
 
 : **vman()**
 Use vim(1) as manpage reader.
 
+: **xcat()**
+Tries to cat(1) file(s) given as parameter(s). Always returns true.
+See also xunfunction() below.
+
 : **xinit()**
 Initializes an X session using xinit(1) if /etc/X11/xorg.conf exists, else
 issues a Warning to use the grml-x(1) script. Can be overridden by using
 /usr/bin/xinit directly.
 
 : **xinit()**
 Initializes an X session using xinit(1) if /etc/X11/xorg.conf exists, else
 issues a Warning to use the grml-x(1) script. Can be overridden by using
 /usr/bin/xinit directly.
 
+: **xsource()**
+Tries to source the file(s) given as parameter(s). Always returns true.
+See zshbuiltins(1) for a detailed description of the source command.
+See also xunfunction() below.
+
+: **xtrename()**
+Changes the title of xterm window from within screen(1). Run without
+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.
 
 : **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
+xunfunction() above.
+
+: **zrclocal()**
+Sources /etc/zsh/zshrc.local and ${HOME}/.zshrc.local. These are the files
+where own modifications should go. See also zshbuiltins(1) for a description
+of the source command.
+
 
 == ALIASES ==
 //grmlzshrc// comes with a wide array of predefined aliases to ease the user's
 
 == ALIASES ==
 //grmlzshrc// comes with a wide array of predefined aliases to ease the user's
@@ -888,15 +1195,25 @@ possibly inclusion.
 
 
 = STATUS =
 
 
 = STATUS =
-This manual page is supposed to be a **reference** manual for //grmlzshrc//.
+This manual page is the **reference** manual for //grmlzshrc//.
+
 That means that in contrast to the existing refcard it should document **every**
 That means that in contrast to the existing refcard it should document **every**
-aspect of the setup. That is currently **not** the case. Not for a long time
-yet. Contributions are highly welcome.
+aspect of the setup.
+
+This manual is currently not complete. If you want to help improving it, visit
+the following pages:
+
+http://wiki.grml.org/doku.php?id=zshrcmanual
+
+http://lists.mur.at/pipermail/grml/2009-August/004609.html
+
+Contributions are highly welcome.
 
 
 = AUTHORS =
 
 
 = AUTHORS =
-This manpage was written by Frank Terbeck <ft@grml.org> and Joerg Woelke
-<joewoe@fsmail.de>.
+This manpage was written by Frank Terbeck <ft@grml.org>, Joerg Woelke
+<joewoe@fsmail.de>, Maurice McCarthy <manselton@googlemail.com> and Axel
+Beckert <abe@deuxchevaux.org>.
 
 
 = COPYRIGHT =
 
 
 = COPYRIGHT =