X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=doc%2Fgrmlzshrc.t2t;h=db4239bac2565ea3a7500a46cc0320db22fa864d;hb=f4d445246a883529eee0039f579d14d82c6b2d0c;hp=271cedb29e7eea027ed012a450af4ae3b6cfd560;hpb=5dd23e2f094bfa37e5555583607f9698752487f7;p=grml-etc-core.git diff --git a/doc/grmlzshrc.t2t b/doc/grmlzshrc.t2t index 271cedb..db4239b 100644 --- a/doc/grmlzshrc.t2t +++ b/doc/grmlzshrc.t2t @@ -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 -.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,23 +450,12 @@ 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. -: **aoeu(), asdf(), uiae()** -Pressing the 'asdf' keys toggles between dvorak or neon and us keyboard -layout. - : **apache2-ssl-certificate()** Advices the user how to create self signed certificates. @@ -467,38 +465,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 +497,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 +509,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 +516,6 @@ Shows the NEWS file for the given package in $PAGER. Takes packagename as argument. Sets current working directory to /usr/share/doc/ 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 +523,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-". 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 +543,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 +580,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 [,] - -: **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 +588,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,54 +609,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. - : **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. @@ -829,30 +631,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, @@ -885,75 +678,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. @@ -970,12 +717,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 @@ -1233,6 +974,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 @@ -1516,5 +1260,5 @@ 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).