VIM Feature Show (Sven Guckes)

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
Titel: Vim - der Text Editor mit Power - 10+ Beispiele
Kurztitel: Vim Feature Show
Art: Vortrag mit Vorführung
Dauer: 40min, Pause, Q+A bis 2h
Zielgruppe: Alle, die Texte auf einem Computer eingeben und bearbeiten wollen.
Vorkenntnisse:   Keine.

Abstract/Beschreibung

Vim (vi improved, www.vim.org) ist eine Weiterentwicklung des Texteditors "vi", welcher auf den meisten Unix Systemen (Linux, *BSD, Solaris..) als Editor vorhanden ist. Fast jeder kommt einmal mit "vi" in Beruehrung. Zwar gibt es noch weitere vi clones (zB calvin, elvis, nvi, stevie), aber in den letzten Jahren hat sich Vim als *die* Version des TextEditors "vi" durchgesetzt.

Vim startet mit einem minimalen Erscheinungsbild, (mit ein paar Tilden auf dem Bildschirm) und sieht daher eigentlich nach nichts aus. Dabei steckt aber gewaltige Power in ihm! Dies wird im Vortrag anhand von zehn Beispielen gezeigt.

Die Eingabe und Verarbeitung von Text ist wohl einer der grundlegendsten Anwendungen des Computers ueberhaupt. Es lohnt sich also einen Editor gut zu kennen, um effektiv mit Computern arbeiten zu koennen.

Vim ist auf viele weitere Systeme portiert (zB Atari, Amiga, Macintosh, Windows) und bietet daher die Moeglichkeit das Wissen auch auf anderen Systemen einzusetzen.

Was ist es *nicht*?

Dies ist kein Vortrag mit Folien, sondern eine feature show, dh sie zeigt lediglich die Effekte im Programm, die man auch gut sehen kann, damit man einen Eindruck von der Vielfalt der Eigenschaften des Programms erhaelt. Darum wird auch nicht erklaert welche der Tasten man druecken muss, um die Effekte auszuloesen. Das haette auch keinen Sinn, weil das zum einen viel Zeit in Anspruch nimmt, und das Ansagen jedes Tastendrucks sehr langweilig ist. ;-)

Ausserdem ist eine der wesentlichen Eigenschaften das "free key binding", dh eine freie Belegung aller Tasten zu Kommandos oder Kommandosequenzen. Somit kann sich jeder Benutzer seine Lieblingskombinationen selber zurechtlegen, wie er das wuenscht. Und wen interessieren da noch wie die voreingestellte Tastenbelegung ist? Das waere dann der Stoff fuer einen Workshop..

Inhalt

Basics & More

  (1) Kommando zurück + vorwärts    (undo+redo)
  (2) Abkuerzungen                  (abbreviations)
  (3) Wortvervollstaendigung        (prefix expansion) -> dictionary
  (4) Register Zwischenablagen      (registers)
  (5) Visual Modus + Operatoren     (visual mode + operators)
  (6) Kommandoaufzeichnung          (macro recording)
  (7) Dateinamenvervollstaendigung  (filename completion)
  (8) Geteilte Fenster              (split windows)
  (9) Wechseln von Fenstern+Puffern (jumping between windows and buffers)
 (10) Textumbruch                   (text formatting)
 (11) Editieren im virtuellen Raum  (virtual editing)
 (12) Sitzungsspeicher              (viminfo - session management)
 (13) Textfalten                    (folding)
 (14) Texte nach Syntax einfärben   (syntax colouring, syntax highlighting)

Goodies/Misc

 (15) Hilfesystem                   (help system)
 (16) Farbschemata                  (colorscheme, highlight search)
 (17) Graphische Benutzerobfläche   (GUI)
 (18) Anzeige fehlerhafter Wörter   (spell checking)
 (19) Unterschiede anzeigen         (vimdiff, diff mode)
 (20) Zusatzmodule                  (plugins)
 (21) Lizenz                        (license)

"ehschokloar!"

 Navigation mit Pfeiltasten
 Editieren der Kommandozeile
 Anzeige der Cursorposition (ruler)
 Bildschirmverschieben seitwärts (sidescroll)
 Spezielle Anzeige von 8bit Zeichen
 Unterstützung für DOS/Mac/UNIX Zeilenenden

Kleine Nettigkeiten

 Suche nach dem aktuellen Wort
 "goto file" command
 /foo/e
 Spezielle Register: /%:.
 Addieren und Substrahieren mit CTRL-A bzw CTRL-X
 Einrücken mit i_CTRL-D bzw i_CTRL-T
 Zeichen aus angrenzender Zeile kopieren mit i_CTRL-E bzw i_CTRL-Y
 Zeichen über ASCII-Nummer eingeben mit i_CTRL-V
 Spezialzeicheneingabe  (digraph input)
 Completions on command-line and insert mode
 Extended search patterns
 Directory, remote and archive browsing (netrw)
 Edit-compile-edit speedup (aka quickfix mode)
 Finding matches in files (vimgrep)
 Improved indenting for programs  (cindent)
 Searching for words in included files (include-search)
 Automatic commands.			|autocommand|
 Scripts and Expressions.		|expression|
 Printing.				|printing|
 Mouse support.				|mouse-using|
 Usage of key names.			|<>| |key-notation|
 Editing binary files.			|edit-binary|
 Multi-language support.		|multi-lang|
 Reverse Insert

Links

Vim HomePage + Docs:

Vim Book:

Setup samples:

Community:


Benötigte Hilfsmittel

Ein Beamer mit einer Aufloesung von mindestens 1024x768. Rechner: Ein 486er mit einer Knoppix sollte genuegen. Ein Zugang zum Netz per ssh nach draussen sollte reichen, dann kann alles auch im eigenen account gezeigt werden. Programme: ssh, terminal (zB xterm), vim 6.3.

Eventuell noch ein X mit einem graphischen Webbrowser, zum Zeigen von Websites oder zum Suchen mit Google, sowie einem PDF viewer wie acroread oder xpdf.

Ein Laptop mit den installierten Programmen kann eventuell mitgebracht werden. Ein Anschluss per Kabel ueber einen Switch und eine Konfiguration per DHCP waere gut.

Workshop

Moeglichst abends oder am Wochenende, ca 3-5 Stunden. Maximal 10 Teilnehmer.

Adressen

Persönliche Angaben

Sven Guckes, Jahrgang 1967, Studium der Mathematik und Informatik an der Freien Universitaet Berlin; lebt in Berlin.

Benutzt Vim seit ca 1994 und unterstuetzt es seitdem mit Artikeln auf Mailinglisten und Newsgruppen sowie mit Webseiten, welche dann schliesslich zu den offiziellen Webseiten auf www.vim.org wurden. Seit 2001 hat er einige Vortraege und Workshops zu Vim und anderen textbasierten Programmen gegeben.

Spezialgebiete: "Text Tools" (zB links, mutt, screen, slrn, vim, zsh) und zur Effizienz von User Interfaces.

Projekte

  • Computer im Display, Aufsatz fuer Tastatur
  • Event Management von Free and Open Souce Events
  • grml - Live CD fuer TextTools Lovers + Network Admins
  • Mailing list maintainer zu GNU screen und GNU sed
  • Vortragsorganisation
  • Webseiten zu guten Programmen (slrn.org vim.org)


/* based on http://www.guckes.net/vortraege/abstract.vim_feature_show.txt letzte Aenderung: Fri Mar 31 23:59:59 CEST 2006 */