X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=doc%2Fgrmlzshrc.t2t;h=02d646b0eaaba686eb1349f9b6891bc2f950c145;hb=6669d4a3d2a4ba02161277b9b3a27e6973cb5614;hp=778974b752e2a9014187536628448398fb8b20a3;hpb=f2a1b407d3f02ac0716d97725423c1a36f4bd915;p=grml-etc-core.git diff --git a/doc/grmlzshrc.t2t b/doc/grmlzshrc.t2t index 778974b..02d646b 100644 --- a/doc/grmlzshrc.t2t +++ b/doc/grmlzshrc.t2t @@ -243,27 +243,145 @@ user's life. Converts plaintext files to HTML using vim. The output is written to .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/ 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. + +: **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! + +: **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. + +: **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. + +: **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. + +: **purge()** +Removes typical temporary files (i. e. files like "*~", ".*~", "#*#", "*.o", +"a.out", "*.core", "*.cmo", "*.cmi" and ".*.swp") from current directory. +Asks for confirmation. + : **readme()** Opens all README-like files in current working directory with the program defined in the $PAGER environment variable. +: **regcheck()** +Checks whether a regular expression (first parameter) matches a string +(second parameter) using perl. + +: **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 @@ -272,7 +390,10 @@ issues a Warning to use the grml-x(1) script. Can be overridden by using == ALIASES == //grmlzshrc// comes with a wide array of predefined aliases to ease the user's -life. +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 @@ -294,16 +415,75 @@ 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. @@ -363,6 +543,111 @@ 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 += ZSH REFCARD TAGS = +If you read //grmlzshrc//'s code you may notice strange looking comments in +it. These are there for a purpose. grml's zsh-refcard is automatically +generated from the contents of the actual configuration file. However, we need +a little extra information on which comments and what lines of code to take +into account (and for what purpose). + +Here is what they mean: + +List of tags (comment types) used: +: **#a#** +Next line contains an important alias, that should be included in the +grml-zsh-refcard. (placement tag: @@INSERT-aliases@@) + +: **#f#** +Next line contains the beginning of an important function. (placement +tag: @@INSERT-functions@@) + +: **#v#** +Next line contains an important variable. (placement tag: +@@INSERT-variables@@) + +: **#k#** +Next line contains an important keybinding. (placement tag: +@@INSERT-keybindings@@) + +: **#d#** +Hashed directories list generation: //start//: denotes the start of a list of +'hash -d' definitions. //end//: denotes its end. (placement tag: +@@INSERT-hasheddirs@@) + +: **#A#** +Abbreviation expansion list generation: //start//: denotes the beginning of +abbreviations. //end//: denotes their end. +\ +Lines within this section that end in '#d .*' provide extra documentation to +be included in the refcard. (placement tag: @@INSERT-abbrev@@) + +: **#m#** +This tag allows you to manually generate refcard entries for code lines that +are hard/impossible to parse. +Example: +\ +``` +#m# k ESC-h Call the run-help function +``` +\ +That would add a refcard entry in the keybindings table for 'ESC-h' with the +given comment. +\ +So the syntax is: #m#
+ +: **#o#** +This tag lets you insert entries to the 'other' hash. Generally, this should +not be used. It is there for things that cannot be done easily in another way. +(placement tag: @@INSERT-other-foobar@@) + + +All of these tags (except for m and o) take two arguments, the first +within the tag, the other after the tag: + +#
# + +Where
is really just a number, which are defined by the @secmap +array on top of 'genrefcard.pl'. The reason for numbers instead of names is, +that for the reader, the tag should not differ much from a regular comment. +For zsh, it is a regular comment indeed. The numbers have got the following +meanings: + +: **0** +//default// + +: **1** +//system// + +: **2** +//user// + +: **3** +//debian// + +: **4** +//search// + +: **5** +//shortcuts// + +: **6** +//services// + + +So, the following will add an entry to the 'functions' table in the 'system' +section, with a (hopefully) descriptive comment: +\ +``` +#f1# Edit an alias via zle +edalias() { +``` +\ +It will then show up in the @@INSERT-aliases-system@@ replacement tag that can +be found in 'grml-zsh-refcard.tex.in'. If the section number is omitted, the +'default' section is assumed. Furthermore, in 'grml-zsh-refcard.tex.in' +@@INSERT-aliases@@ is exactly the same as @@INSERT-aliases-default@@. If you +want a list of **all** aliases, for example, use @@INSERT-aliases-all@@. + = CONTRIBUTING = If you want to help to improve grml's zsh setup, clone the grml-etc-core