grmlzshrc.t2t: Docs for apt related aliases.
[grml-etc-core.git] / doc / grmlzshrc.t2t
index 953bde7..d9c68f8 100644 (file)
@@ -243,6 +243,18 @@ user's life.
 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 ".".
@@ -251,6 +263,19 @@ in it, including file names starting with ".".
 Takes packagename as argument. Sets current working directory to
 /usr/share/doc/<packagename> 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-<original
+filename>". 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.
 
@@ -291,6 +316,10 @@ 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.
@@ -299,13 +328,33 @@ directory.
 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,
@@ -318,6 +367,14 @@ 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.
@@ -338,6 +395,56 @@ life. A few aliases (like those involving //grep// or //ls//) use the option
 implementations of these tools, and will only be used if such an implementation
 is detected.
 
+: **acp** (//apt-cache policy//)
+With no arguments prints out the priorities of each source. If a package name
+is given, it displays detailed information about the priority selection of the
+package.
+
+: **acs** (//apt-cache search//)
+Searches debian package lists for the regular expression provided as argument.
+The search includes package names and descriptions. Prints out name and short
+description of matching packages.
+
+: **acsh** (//apt-cache show//)
+Shows the package records for the packages provided as arguments.
+
+: **adg** (//apt-get dist-upgrade//)
+Performs an upgrade of all installed packages. Also tries to automatically
+handle changing dependencies with new versions of packages. As this may change
+the install status of (or even remove) installed packages, it is potentially
+dangerous to use dist-upgrade; invoked by sudo, if necessary.
+
+: **ag** (//apt-get upgrade//)
+Downloads and installs the newest versions of all packages currently installed
+on the system. Under no circumstances are currently installed packages removed,
+or packages not already installed retrieved and installed. New versions of
+currently installed packages that cannot be upgraded without changing the install
+status of another package will be left at their current version. An update must
+be performed first (see au below); run by sudo, if necessary.
+
+: **agi** (//apt-get install//)
+Downloads and installs or upgrades the packages given on the command line.
+If a hyphen is appended to the package name, the identified package will be
+removed if it is installed. Similarly a plus sign can be used to designate a
+package to install. This may be useful to override decisions made by apt-get's
+conflict resolution system.
+A specific version of a package can be selected for installation by following
+the package name with an equals and the version of the package to select. This
+will cause that version to be located and selected for install. Alternatively a
+specific distribution can be selected by following the package name with a slash
+and the version of the distribution or the Archive name (stable, testing, unstable).
+Gets invoked by sudo, if user id is not 0.
+
+: **ati** (//aptitude install//)
+Aptitude is a terminal-based package manager with a command line mode similar to
+apt-get (see agi above); invoked by sudo, if necessary.
+
+: **au** (//apt-get update//)
+Resynchronizes the package index files from their sources. The indexes of
+available packages are fetched from the location(s) specified in
+/etc/apt/sources.list. An update should always be performed before an
+upgrade or dist-upgrade; run by sudo, if necessary.
+
 : **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
@@ -347,6 +454,10 @@ while watching a movie.
 Prints the summarized disk usage of the arguments as well as a grand total
 in human readable format.
 
+: **dir** (//ls -lSrah//)
+Lists files (including dot files) sorted by size (biggest last) in long and
+human readable output format.
+
 : **fblinks** (//links2 -driver fb//)
 A Web browser on the framebuffer device. So you can browse images and click
 links on the virtual tty.
@@ -368,6 +479,18 @@ Case insensitive grep with colored output.
 Basic HTTP server implemented in python. Listens on port 8000/tcp and
 serves current directory. Implements GET and HEAD methods.
 
+: **insecscp** (//scp -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null"//)
+scp with possible man-in-the-middle attack enabled. This is convenient, if the targets
+host key changes frequently, for example on virtualized test- or development-systems.
+To be used only inside trusted networks, of course.
+
+: **insecssh** (//ssh -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null"//)
+ssh with possible man-in-the-middle attack enabled
+(for an explanation see insecscp above).
+
+: **j** (//jobs -l//)
+Prints status of jobs in the current shell session in long format.
+
 : **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.
@@ -376,6 +499,9 @@ to filename. If the terminal supports it, with colored output.
 Lists files in long colored output format. Including file names
 starting with ".".
 
+: **lad** (//ls -d .*(/)//)
+Lists the dot directories (not their contents) in current directory.
+
 : **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
@@ -384,15 +510,15 @@ 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.
 
+: **lsa** (//ls -a .*(.)//)
+Lists dot files in current working directory.
+
 : **lsbig** (//ls -flh *(.OL[1,10])//)
 Displays the ten biggest files (long and human readable output format).
 
@@ -402,12 +528,19 @@ Shows directories.
 : **lse** (//ls -d *(/^F)//)
 Shows empty directories.
 
+: **lsl** (//ls -l *(@)//)
+Lists symbolic links in current directory.
+
 : **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).
 
+: **lss** (//ls -l *(s,S,t)//)
+Lists files in current directory that have the setuid, setgid or sticky bit
+set.
+
 : **lssmall** (//ls -Srl *(.oL[1,10])//)
 Displays the ten smallest files (long output format).
 
@@ -442,6 +575,10 @@ anybody else.
 Grants read, write and execute permission of a file to the owner and
 read-only plus execute permission to anybody else.
 
+: **up** (//aptitude update ; aptitude safe-upgrade//)
+Performs a system update followed by a system upgrade using aptitude; run
+by sudo, if necessary. See au and ag above.
+
 
 = AUXILIARY FILES =
 This is a set of files, that - if they exist - can be used to customize the
@@ -486,6 +623,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# <section> <argument> <comment>
+
+: **#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:
+
+#<tag><section># <comment>
+
+Where <section> 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