grmlzshrc.t2t: Some more docs for functions.
[grml-etc-core.git] / doc / grmlzshrc.t2t
index c9031fa..2ff2cc9 100644 (file)
@@ -1,6 +1,6 @@
 GRMLZSHRC
 
-May, 2009
+August, 2009
 
 %!target: man
 %!postproc(man): "^(\.TH.*) 1 "  "\1 5 "
@@ -220,25 +220,265 @@ to: **'zsh: <repository name>'** via zsh's vcs_info.
 
 
 == PERSISTENT HISTORY ==
+If you got commands you consider important enough to be included in every
+shell's history, you can put them into ~/.important_commands and they will be
+available via the usual history lookup widgets.
 
 
 = REFERENCE =
 == 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**
+on PC keyboards.
+
+: **ESC-e**
+Edit the current command buffer in your favourite editor.
+
 
 == SHELL FUNCTIONS ==
 //grmlzshrc// comes with a wide array of defined shell functions to ease the
 user's life.
 
-: urlencode()
+: **2html()**
+Converts plaintext files to HTML using vim. The output is written to
+<filename>.html.
+
+: **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"
+
+: **cl()**
+Changes current directory to the one supplied by argument and lists the files
+in it, including file names starting with ".".
+
+: **doc()**
+Takes packagename as argument. Sets current working directory to
+/usr/share/doc/<packagename> and prints out a directory listing.
+
+: **greph()**
+Searches the zsh command history for a regular expression.
+
+: **hex()**
+Prints the hexadecimal representation of the number supplied as argument
+(base ten only).
+
+: **is4()**
+Returns true, if zsh version is equal or greater than 4, else false.
+
+: **is41()**
+Returns true, if zsh version is equal or greater than 4.1, else false.
+
+: **is42()**
+Returns true, if zsh version is equal or greater than 4.2, else false.
+
+: **is425()**
+Returns true, if zsh version is equal or greater than 4.2.5, else false.
+
+: **is43()**
+Returns true, if zsh version is equal or greater than 4.3, else false.
+
+: **is433()**
+Returns true, if zsh version is equal or greater than 4.3.3, else false.
+
+: **isdarwin()**
+Returns true, if running on darwin, else false.
+
+: **isgrml()**
+Returns true, if running on a grml system, else false.
+
+: **isgrmlcd()**
+Returns true, if running on a grml system from a live cd, else false.
+
+: **isgrmlsmall()**
+Returns true, if run on grml-small, else false.
+
+: **isutfenv()**
+Returns true, if run within an utf environment, else false.
+
+: **limg()**
+Lists images (i. e. files ending with ".jpg", ".gif" or ".png") in current
+directory.
+
+: **mcd()**
+Creates directory including parent directories, if necessary. Then changes
+current working directory to it.
+
+: **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.
+
+: **readme()**
+Opens all README-like files in current working directory with the program
+defined in the $PAGER environment variable.
+
+: **shtar()**
+Lists the content of a gzipped tar archive in default pager.
+
+: **shzip()**
+Shows the content of a zip archive in default pager.
+
+: **slow_print()**
+Prints the arguments slowly by sleeping 0.08 seconds between each character.
+
+: **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,
+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.
+
+: **status()**
+Shows some information about current system 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.
+
+: **urlencode()**
 Takes a string as its first argument and prints it RFC 2396 URL encoded to
 standard out.
 
+: **viless()**
+Vim as pager.
+
+: **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.
+
+
+== ALIASES ==
+//grmlzshrc// comes with a wide array of predefined aliases to ease the user's
+life. A few aliases (like those involving //grep// or //ls//) use the option
+//--color=auto// for colourizing output. That option is part of **GNU**
+implementations of these tools, and will only be used if such an implementation
+is detected.
+
+: **cmplayer** (//mplayer -vo fbdev//)
+Video player with framebuffer as video output device, so you can watch
+videos on a virtual tty. Hint: Using fbdev2 allows you to use the shell
+while watching a movie.
+
+: **da** (//du -sch//)
+Prints the summarized disk usage of the arguments as well as a grand total
+in human readable format.
+
+: **fblinks** (//links2 -driver fb//)
+A Web browser on the framebuffer device. So you can browse images and click
+links on the virtual tty.
+
+: **fbmplayer** (//mplayer -vo fbdev -fs -zoom//)
+Fullscreen Video player with the framebuffer as video output device. So you
+can watch videos on a virtual tty.
+
+: **g** (//git//)
+Revision control system by Linus Torvalds.
+
+: **grep** (//grep --color=auto//)
+Shows grep output in nice colors, if available.
+
+: **GREP** (//grep -i --color=auto//)
+Case insensitive grep with colored output.
+
+: **http** (//python -m SimpleHTTPServer//)
+Basic HTTP server implemented in python. Listens on port 8000/tcp and
+serves current directory. Implements GET and HEAD methods.
+
+: **l** (//ls -lF --color=auto//)
+Lists files in long output format with indicator for filetype appended
+to filename. If the terminal supports it, with colored output.
+
+: **la** (//ls -la --color=auto//)
+Lists files in long colored output format. Including file names
+starting with ".".
+
+: **lh** (//ls -hAl --color=auto//)
+Lists files in long and human readable output format in nice colors,
+if available. Includes file names starting with "." except "." and
+"..".
+
+: **ll** (//ls -l --color=auto//)
+Lists files in long colored output format.
+
+: **j** (//jobs -l//)
+Prints status of jobs in the current shell session in long format.
+
+: **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
+to each file name. Additionally the output is colored, if the terminal
+supports it.
+
+: **lsbig** (//ls -flh *(.OL[1,10])//)
+Displays the ten biggest files (long and human readable output format).
+
+: **lsd** (//ls -d *(/)//)
+Shows directories.
+
+: **lse** (//ls -d *(/^F)//)
+Shows empty directories.
+
+: **lsnew** (//ls -rl *(D.om[1,10])//)
+Displays the ten newest files (long output format).
+
+: **lsold** (//ls -rtlh *(D.om[1,10])//)
+Displays the ten oldest files (long output format).
+
+: **lssmall** (//ls -Srl *(.oL[1,10])//)
+Displays the ten smallest files (long output format).
+
+: **lsw** (//ls -ld *(R,W,X.^ND/)//)
+Displays all files which are world readable and/or world writable and/or
+world executable (long output format).
+
+: **lsx** (//ls -l *(*)//)
+Lists only executable files.
+
+: **md** (//mkdir -p//)
+Creates directory including parent directories, if necessary
+
+: **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
+with users .screenrc config if it exists, else use /etc/grml/screenrc_grml
+as configuration.
+
+: **rw-** (//chmod 600//)
+Grants read and write permission of a file to the owner and nobody else.
+
+: **rwx** (//chmod 700//)
+Grants read, write and execute permission of a file to the owner and nobody
+else.
+
+: **r--** (//chmod 644//)
+Grants read and write permission of a file to the owner and read-only to
+anybody else.
+
+: **r-x** (//chmod 755//)
+Grants read, write and execute permission of a file to the owner and
+read-only plus execute permission to anybody else.
+
 
 = AUXILIARY FILES =
 This is a set of files, that - if they exist - can be used to customize the
 behaviour of //grmlzshrc//.
 
-: .zshrc.pre
+: **.zshrc.pre**
 Sourced at the very beginning of //grmlzshrc//. Among other things, it can
 be used to permantenly change //grmlzshrc//'s STARTUP VARIABLES (see above):
 \
@@ -249,14 +489,33 @@ BATTERY=1
 GRML_ALWAYS_LOAD_ALL=1
 ```
 
-: .zshrc.local
+: **.zshrc.local**
 Sourced right before loading //grmlzshrc// is finished. There is a global
 version of this file (/etc/zsh/zshrc.local) which is sourced before the
 user-specific one.
 
+: **.zdirs**
+Directory listing for persistent dirstack (see above).
+
+: **.important_commands**
+List of commands, used by persistent history (see above).
 
 
 = INSTALLATION ON NON-DEBIAN SYSTEMS =
+On Debian systems (http://www.debian.org) - and possibly Ubuntu
+(http://www.ubuntu.com) and similar systems - it is very easy to get
+//grmlzshrc// via grml's .deb repositories.
+
+On non-debian systems, that is not an option, but all is not lost:
+\
+```
+% wget -O .zshrc http://git.grml.org/f/grml-etc-core/etc/zsh/zshrc
+```
+
+If you would also like to get seperate function files (which you can put into
+your **$fpath**), you can browse and download them at:
+
+http://git.grml.org/?p=grml-etc-core.git;a=tree;f=usr_share_grml/zsh;hb=HEAD
 
 
 = CONTRIBUTING =
@@ -281,8 +540,9 @@ aspect of the setup. That is currently **not** the case. Not for a long time
 yet. Contributions are highly welcome.
 
 
-= AUTHOR =
-This manpage was written by Frank Terbeck <ft@grml.org>.
+= AUTHORS =
+This manpage was written by Frank Terbeck <ft@grml.org> and Joerg Woelke
+<joewoe@fsmail.de>.
 
 
 = COPYRIGHT =