vi ist überall

  • warning: Declaration of views_handler_field_user_name::init(&$view, &$data) should be compatible with views_handler_field_user::init(&$view, $data) in /srv/web/drupal6/sites/all/modules/views/modules/user/views_handler_field_user_name.inc on line 0.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
Feb
3

Der Texteditor vi gehört sicherlich nicht zu den beliebtesten Programmen dieser Art. Gerade in Zeiten der graphischen Benutzeroberflächen ist die Bedienung durch Tastenkürzel, die Verwendung von verschiedenen Modi und das konsequente ignorieren von Eingabegeräten wie der Maus nur schwer zu verstehen.

Wer sich intensiver mit dem Betriebssystem Linux beschäftigt wird früher oder später aber nicht umhinkommen, sich mit diesem Programm „anzufreunden“. Auf Servern gibt es keine graphische Benutzeroberfläche und vi ist auf so gut wie jedem System vorzufinden.

Nach länger Arbeit mit vi versteht man das verwendete Konzept immer besser und verwendet den Editor auch unter „normalen“ Bedingungen auf dem Desktop oder sogar unter Windows. So arbeite ich derzeit nur noch mit gvim statt mit gedit unter Gnome. Vor kurzem habe ich bei einem Code Retreat mit einer eclipse Installation gearbeitet, in der ein vi als Texteditor verwendet wurde. Und wer kennt als langjähriger vi Anwender nicht die Zeichen :x oder :wq in normalen Text-Dokumenten.

vi Kürzel für jeden

Es geht mir in diesem Beitrag aber nicht um das Für und Wieder von vi als Texteditor. Vielmehr habe ich die Beobachtung gemacht, dass die Tastenkürzel von vi längst in weit verbreiteten System zu finden sind. Allerdings werden wohl nur die wenigsten Anwender diese Kürzel nutzen oder wissen, welchen Ursprung diese haben.

Bei der Nutzung von webbasierten Diensten gehört es inzwischen zum guten Ton für „Power-User“ das System auch über die Tastatur nutzbar zu machen. So kann man in Google+ auch mit der Tastatur zwischen den einzelnen Beiträgen im Stream wechseln. Und welche Kürzel werden hier verwendet? Natürlich j um einen Beitrag zurück / nach unten und k um einen Beitrag nach vorne / nach oben zu wechseln. Die gleichen Kürzel wie in vi um die Zeile in einem Text zu wechseln.

Das gleiche Verhalten findet man auch im Twitter Client TweetDeck in der Version für den Browser Chrome. Hier wechselt man mit j zum nächst jüngeren Tweet in der Timeline und mit k zum nächst älteren. Da man in TweetDeck aber verschiedene Timelines nebeneinander darstellen kann, sind hier auch die Tastenkürzel h und k aktiv. Mit h wechselt man in die Timeline links von der aktuellen und mit l in die nächste Timeline rechts von der aktuellen.

Ein weiteres Beispiel für die Nutzung der vi Tastenkürzel zur Navigation findet sich auch im Google Reader. Hier kann man mit den Kürzeln j und k innerhalb eines angezeigten RSS Feeds navigieren.

Jetzt frage ich mich natürlich steckt da eine Absicht dahinter? Oder sind die Entwickler der einzelnen Programme einfach nur Freaks, die bei der Suche nach Kürzeln die verwenden, die sie eh jeden Tag anwenden und für sie in Fleisch und Blut übergegangen sind.

Was die Ursache auch immer ist, ich freue mich darüber, dass ich keine neuen Kürzel für die Navigation in Google+, TweetDeck und dem Google Reader lernen muss.