X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=doc%2Fgrmlzshrc.t2t;h=f52b181860b0f696c7e35b3fa2cc19081b130be6;hb=0a79afde0330cf02f5d722f7f0a572b7f0a5f16b;hp=1a66d26401567156f515eb1815f4e6d1f1acaf44;hpb=a02215f68d095e92f11337e178e497a1806a13d0;p=grml-etc-core.git diff --git a/doc/grmlzshrc.t2t b/doc/grmlzshrc.t2t index 1a66d26..f52b181 100644 --- a/doc/grmlzshrc.t2t +++ b/doc/grmlzshrc.t2t @@ -1,13 +1,13 @@ GRMLZSHRC -August, 2009 +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: @@ -40,6 +52,62 @@ Or by setting them permanently in **zshrc.pre** (See AUXILIARY FILES below). If set to a value greater than zero and //acpi// installed, //grmlzshrc// will put the battery status into the right hand side interactive prompt. +: **COMMAND_NOT_FOUND** +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. + +: **GRML_ZSH_CNF_HANDLER** +This variable contains the handler to be used by COMMAND_NOT_FOUND (see above) +and defaults to "/usr/share/command-not-found/command-not-found". + +: **GRMLSMALL_SPECIFIC** +Set this to zero to remove items in zsh config, which do not work in +grml-small. + +: **HISTFILE** +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 +500, on a hard disk installation to 5000. + +: **MAILCHECK** +Sets the frequency in seconds for zsh to check for new mail. Defaults to 30. +A value of zero turns off checking. + +: **NOCOR** +Non zero values deactivate automatic correction of commands. + +: **NOMENU** +If set to zero (default), allows selection from a menu, if there are at least +five possible options of completion. + +: **NOPRECMD** +A non zero value disables precmd and preexec commands. These are functions +that are run before every command (setting xterm/screen titles etc.). + +: **REPORTTIME** +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 +and to 10000 on an installation on hard disk. + +: **watch** +As in tcsh(1) an array of login/logout events to be reported by the shell +builtin "log". For details see zshparam(1). Defaults to (notme root). + +: **ZSH_NO_DEFAULT_LOCALE** +Import "/etc/default/locale", if set to zero (default). + +: **ZSH_PROFILE_RC** +A non zero value causes shell functions to be profiled. The results can be +obtained with the zprof builtin command (see zshmodules(1) for details). + = FEATURE DESCRIPTION = This is an in depth description of non-standard features implemented by @@ -226,6 +294,119 @@ available via the usual history lookup widgets. = REFERENCE = +== ENVIRONMENT VARIABLES == +//grmlzshrc// sets some environment variables, which influence the +behaviour of applications. + +: **COLORTERM** +Set to "yes". Some applications read this to learn about properties +of the terminal they are running in. + +: **EDITOR** +If not already set, sets the default editor. Falls back to vi(1), +if vim(1) is not available. + +: **LESS_TERMCAP_*** +Some environment variables that add colour support to less(1) for viewing +man pages. See termcap(5) for details. + +: **MAIL** +The mailbox file for the current user is set to /var/mail/$USER, if not +already set otherwise. + +: **PAGER** +Set less(1) as default pager, if not already set to something different. + +: **QTDIR** +Holds the path to shared files for the C++ application framework QT +(version 3 or 4). + +: **SHELL** +Set explicitly to /bin/zsh, to prevent certain terminal emulators to +default to /bin/sh or /bin/bash. + + +== 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 . 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** +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** +Make cd push the old directory onto the directory stack. + +: **completeinword** +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** +Treat the '#', '~' and '^' characters as active globbing pattern characters. + +: **extended_history** +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** +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** +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** +List jobs in long format by default. + +: **nobeep** +Avoid to beep on errors in zsh command line editing (zle). + +: **noglobdots** +A wildcard character never matches a leading '.'. + +: **nohup** +Do not send the hangup signal (HUP:1) to running jobs when the shell exits. + +: **nonomatch** +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** +Don't push multiple copies of the same directory onto the directory stack. + +: **share_history** +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** @@ -234,61 +415,122 @@ on PC keyboards. : **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-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. + == SHELL FUNCTIONS == //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 -.html. - : **855resolution()** If 915resolution is available, issues a warning to the user to run it instead to modify the resolution on intel graphics chipsets. +: **accessed()** +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. -: **ansi-colors()** -Prints a colored table of available ansi color codes (to be used in escape -sequences) and the colors they represent. +: **allulimit()** +Sets all ulimit values to "unlimited". + +: **any()** +Lists processes matching given pattern. : **aoeu(), asdf(), uiae()** Pressing the 'asdf' keys toggles between dvorak or neon and us keyboard layout. -: **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" +: **apache2-ssl-certificate()** +Advices the user how to create self signed certificates. -: **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" +: **asc()** +Login on the host provided as argument using autossh. Then reattach a GNU screen +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. : **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. +If no argument is specified N is set to 1. + +: **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 ".". +: **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. @@ -300,30 +542,80 @@ Shows bug report for debian given by number in mailbox format. Tells the user to use grml-debootstrap, if she wants to install debian to harddisk. +: **deswap()** +A trick from $LINUX-KERNELSOURCE/Documentation/power/swsusp.txt. It brings +back interactive responsiveness after suspend, when the system is swapping +heavily. + +: **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. + : **doc()** Takes packagename as argument. Sets current working directory to /usr/share/doc/ and prints out a directory listing. -: **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. +: **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. + +: **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). + +: **freload()** +Reloads an autoloadable shell function (See autoload in zshbuiltins(1)). + +: **get_tw_cli()** +Fetches 3ware RAID controller software using get_3ware(1). + +: **gex()** +Performs an exact (i. e. quoted) web search using Google. -: **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-". 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! +: **ggogle()** +Searches the arguments on Google Groups, a web to USENET gateway. -: **greph()** -Searches the zsh command history for a regular expression. +: **google()** +Searches the search engine Google using arguments as search string. : **hex()** Prints the hexadecimal representation of the number supplied as argument (base ten only). +: **hgdi()** +Use GNU diff with options -ubwd for mercurial. + +: **hgstat()** +Displays diffstat between the revision given as argument and tip (no +argument means last revision). + +: **hidiff()** +Outputs highlighted diff; needs highstring(1). + +: **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. @@ -354,55 +646,87 @@ Returns true, if running on a grml system from a live cd, 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. -: **lcheck()** -Lists libraries that define the symbol containing the string given as -parameter. +: **iwclient()** +Searches a wireless interface and runs dhclient(8) on it. : **limg()** 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. + +: **manzsh()** +Shows the zshall manpage and jumps to the first match of the regular +expression optionally given as argument (Needs qma(1)). + : **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. + +: **mggogle()** +Searches Google Groups for a USENET message-ID. + : **minimal-shell()** -Spawns a absolute minimal Korn shell. It references no files in /usr, so -that file system can be unmounted. +Spawns a minimally set up MirBSD Korn shell. It references no files in /usr, +so that file system can be unmounted. + +: **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. -: **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. +: **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. +\ +Example usages: +``` +% NTREF=/reference/file +% ls -l *(e:nt:) +% # Inline: +% 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 typical temporary files (i. e. files like "*~", ".*~", "#*#", "*.o", -"a.out", "*.core", "*.cmo", "*.cmi" and ".*.swp") from current directory. -Asks for confirmation. +: **refunc()** +Reloads functions given as parameters. -: **readme()** -Opens all README-like files in current working directory with the program -defined in the $PAGER environment variable. +: **salias()** +Creates an alias whith sudo prepended, if $EUID is not zero. Run "salias -h" +for details. See also xunfunction() below. -: **regcheck()** -Checks whether a regular expression (first parameter) matches a string -(second parameter) using perl. - -: **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. : **show-archive()** Lists the contents of a (compressed) archive with the appropriate programs. @@ -415,11 +739,14 @@ Lists the content of a gzipped tar archive in default pager. 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. -: **slow_print()** -Prints the arguments slowly by sleeping 0.08 seconds between each character. +: **sll()** +Prints details of symlinks given as arguments. : **smartcompress()** Compresses/archives the file given as first parameter. Takes an optional @@ -433,22 +760,55 @@ 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. -: **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 -/usr/bin/startx directly. +: **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. + +: **Start(), Restart(), Stop(), Force-Reload(), Reload()** +Functions for controlling daemons. +``` +Example usage: +% Restart ssh +``` + +: **swiki()** +Searches articles in the german Wikipedia for the term given as argument. -: **status()** -Shows some information about current system status. +: **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. -: **urlencode()** -Takes a string as its first argument and prints it RFC 2396 URL encoded to -standard out. +: **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. + +: **utf2iso()** +Changes every occurrence of the string UTF-8 or utf-8 in environment +variables to iso885915. : **viless()** Vim as pager. @@ -458,13 +818,37 @@ 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). + +: **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. -: **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. +: **xcat()** +Tries to cat(1) file(s) given as parameter(s). Always returns true. +See also xunfunction() below. + +: **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 @@ -472,6 +856,16 @@ 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 @@ -545,10 +939,19 @@ while watching a movie. : **CO** (//./configure//) Prepares compilation for building program from source. +: **cp** (//nocorrect cp//) +cp(1) without spelling correction. + : **da** (//du -sch//) Prints the summarized disk usage of the arguments as well as a grand total in human readable format. +: **dbp** (//dpkg-buildpackage//) +Builds binary or source packages from sources (See: dpkg-buildpackage(1)). + +: **debs-by-size** (//grep-status -FStatus -sInstalled-Size,Package -n "install ok installed" | paste -sd " \n" | sort -rn//) +Prints installed Packages sorted by size (descending). + : **default** (//echo -en [ escape sequence ]//) Sets font of xterm to "-misc-fixed-medium-r-normal-*-*-140-*-*-c-*-iso8859-15" using escape sequence. @@ -568,6 +971,10 @@ can watch videos on a virtual tty. : **g** (//git//) Revision control system by Linus Torvalds. +: **ge** (//grep-excuses//) +Searches the testing excuses files for a specific maintainer (See: +grep-excuses(1)). + : **grep** (//grep --color=auto//) Shows grep output in nice colors, if available. @@ -580,6 +987,9 @@ Scans for new devices and updates /etc/fstab according to the findings. : **grml-version** (//cat /etc/grml_version//) Prints version of running grml. +: **hbp** (//hg-buildpackage//) +Helper program to maintain Debian packages with mercurial. + : **http** (//python -m SimpleHTTPServer//) Basic HTTP server implemented in python. Listens on port 8000/tcp and serves current directory. Implements GET and HEAD methods. @@ -599,6 +1009,9 @@ Runs the function H-Glob() to expand or explain wildcards. : **hide** (//echo -en [ escape sequence ]//) Tries to hide xterm window using escape sequence. +: **hidiff** (//histring -fE '^Comparing files .*|^diff .*' | histring -c yellow -fE '^\-.*' | histring -c green -fE '^\+.*'//) +If histring(1) is installed, highlight important stuff in diff(1) output. + : **huge** (//echo -en [ escape sequence ]//) Sets huge font in xterm ("-misc-fixed-medium-r-normal-*-*-210-*-*-c-*-iso8859-15") using escape sequence. @@ -629,6 +1042,9 @@ if available. Includes file names starting with "." except "." and : **ll** (//ls -l --color=auto//) Lists files in long colored output format. +: **llog** (//$PAGER /var/log/syslog//) +Opens syslog in pager. + : **ls** (//ls -b -CF --color=auto//) Lists directory printing octal escapes for nongraphic characters. Entries are listed by columns and an indicator for file type is appended @@ -673,11 +1089,33 @@ Lists only executable files. : **md** (//mkdir -p//) Creates directory including parent directories, if necessary +: **mdstat** (//cat /proc/mdstat//) +Lists all active md (i.e. linux software raid) devices with some information +about them. + : **medium** (//echo -en [ escape sequence ]//) Sets medium sized font ("-misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-15") in xterm using escape sequence. +: **mkdir** (//nocorrect mkdir//) +mkdir(1) without spelling correction. + +: **mq** (//hg -R $(readlink -f $(hg root)/.hg/patches)//) +Executes the commands on the versioned patch queue from current repository. + +: **mv** (//nocorrect mv//) +mv(1) without spelling correction. + +: **rd** (//rmdir//) +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 @@ -699,6 +1137,12 @@ anybody else. Grants read, write and execute permission of a file to the owner and read-only plus execute permission to anybody else. +: **S** (//screen//) +Short for screen(1). + +: **s** (//ssh//) +Short for ssh(1). + : **semifont** (//echo -en [ escape sequence ]//) Sets font of xterm to "-misc-fixed-medium-r-semicondensed-*-*-120-*-*-*-*-iso8859-15" using @@ -715,11 +1159,25 @@ escape sequence. If user is running a grml live-CD, dont ask for any password, if she wants a root shell. +: **term2iso** (//echo 'Setting terminal to iso mode' ; print -n '\e%@'//) +Sets mode from UTF-8 to ISO 2022 (See: +http://www.cl.cam.ac.uk/~mgk25/unicode.html#term). + +: **term2utf** (//echo 'Setting terminal to utf-8 mode'; print -n '\e%G'//) +Sets mode from ISO 2022 to UTF-8 (See: +http://www.cl.cam.ac.uk/~mgk25/unicode.html#term). + : **tiny** (//echo -en [ escape sequence ]//) Sets tiny xterm font ("-misc-fixed-medium-r-normal-*-*-80-*-*-c-*-iso8859-15") using escape sequence. +: **tlog** (//tail -f /var/log/syslog//) +Prints syslog continuously (See tail(1)). + +: **top10** (//print -l ? ${(o)history%% *} | uniq -c | sort -nr | head -n 10//) +Prints the ten most used shell commands. + : **truec** (//truecrypt [ mount options ]//) Mount a truecrypt volume with some reasonable mount options ("rw,sync,dirsync,users,uid=1000,gid=users,umask=077" and "utf8", if @@ -729,6 +1187,19 @@ available). Performs a system update followed by a system upgrade using aptitude; run by sudo, if necessary. See au and ag above. +: **url-quote** (//autoload -U url-quote-magic ; zle -N self-insert url-quote-magic//) +After calling, characters of URLs as typed get automatically escaped, if necessary, to +protect them from the shell. + +: **0** (//return 0//) +Gives a clean prompt (i.e. without $?). + +: **$(uname -r)-reboot** (//kexec -l --initrd=/boot/initrd.img-"$(uname -r)" --command-line=\"$(cat /proc/cmdline)\" /boot/vmlinuz-"$(uname -r)"//) +Reboots using kexec(8) and thus reduces boot time by skipping hardware initialization of BIOS/firmware. + +: **...** (//cd ../..///) +Changes current directory two levels higher. + : **?** (//qma zshall//) Runs the grml script qma (quick manual access) to build the collected man pages for the z-shell. This compressed file is kept at @@ -901,22 +1372,32 @@ possibly inclusion. = 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** -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 = -This manpage was written by Frank Terbeck and Joerg Woelke -. +This manpage was written by Frank Terbeck , Joerg Woelke +, Maurice McCarthy and Axel +Beckert . = COPYRIGHT = -Copyright (c) 2009, grml project +Copyright (c) 2009-2011 Grml project 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).