Workshop Vim - "Advanced  Editing with Vim"
Workshop Zsh - "Power Shell Usage with Zsh"

Each workshop will have two parts with 90min each
with a coffee break of 30mins in between.

UKUUG 2005 - "Zsh rules!"

The Z-Shell (zsh) has been around since 199x (even before
the bash) but is still widely unknown to users.

We will present some of the most useful zsh features
(not in order of importance, mind you):
- Color prompts
- Faster and more comfortable line editing
- Modularity!  -> Embedded Systems
- Right prompt to show exit code and background jobs
- Globbing qualifiers for files and directories
- Extended Aliases (global and suffix)
- Command completion, especially completion
  of diretories (cd) or files (matching extensions),
  long options names (eg gpg), mailboxes (eg mutt),
  processes (eg kill), and for users+hostnames (eg ssh).

The aim of this talk is to make the shell more popular
and accepted on more systems as a trusted shell,
eg at sites which offer free unix access.

The effect on you will hopefully be mind-extending
and you might rethink the way you work with your shell.

We know that there are way too many features to show
so we will offer a workshop on the shell, too.

We do not intend to show you slides but present
live examples of the features as we want
you to see the effect.  However, we can
take a few screenshots to wet your appetite...

By the way, the zsh is now the default shell on
a new knoppix derivative - "grml" (grml.org)
which is aimed at texttool lovers and admins.

Examples with Screenshots

Directory stack: All directories you switch to are kept in a stack from which you can chose any one directly. see the list with "d" and choose the second used one with "cd +2".
Customizable Correction: The typo in the filename yields a prompt with "([Y]es/[N]o/[E]dit/[A]bort)") where all the appropriate actions are customizable, too.
Modifiers: This shows the filename modifiers :t and :r. The modifier :t gives the "tail" of a filename, ie without the directory name (like "basename file") - and :r gives the "root" part, ie without the extension. As you can see, this can be applied multiple times.
Dynamic Completion of Long Option Names: All parameters are queried from the "--help" output of current executable and presented as a menu. The user can then choose one or more long option names from this menu.
Completion for "kill": Yet another example for command completions. In this case you'll get a menu of the processes in a tree fashion. Again, you can select one process from the menu - and the current choice is reflected by the process id in the command line.
Filename Globbing: This shows the effect of the parameter "(/)" to only evaluate to directories. Can be used in an alias "lsd" to only list subdirectories.
Parameter Expansion: Just list further expansions within curly braces.
Global Aliases and Multiple Redirections: Here, the 'G' is an alias for "|grep". Please note that it includes the pipe symbol, making it easier to type, and it also evaluates *within* a command chain (unlike normal aliases). The output is redirected to *two* commands, so the first line of output is created by the "wc -l" and the rest by the "tail" process.
Predefined functions: One of the functions provides a set of fancy prompt styles for your enjoyment.

Bios

Sven Guckes, guckes.net, Berlin (DE). *1967 in Berlin, studied math&cs. specialist and supporter of texttools; has maintained webpages for tools like (elm, nn) mutt, slrn, vi&vim, and zsh (and then some). Held talks and workshops on texttools since 2000 on various events on free software mostly in Germany and Austria (but BE+NL, too). Fluent writing in English, Kraut accent.

Julius Plenz, plenz.com, Hamburg (DE). Christianeum School. grml developer, zsh enthusiast. Held talk at LinuxWeeks in Vienna in 2004 (comparions of chat systems ICQ/IRC) (once in English and once in German)