Next: 2. Treffen der Up: Allgemeines Previous: Neuer Farbdrucker

Tastenbelegung beim EMACS-Editor

Daß der EMACS-Editor, der auf den Convexen und vielen anderen Rechnern fast schon zum Standard geworden ist, mächtig, universell, leicht erweiterbar und überhaupt ganz prima ist, wird, spätestens seitdem Hauptspeicher unter 8 MB nur noch auf Steinzeit-Maschinen vorkommt (wer sagt da ``PC'' ?), höchstens von Uralt-UNIX-Gurus bestritten. Bei allen anderen ist z.B. ``vi'' die Abkürzung für ``vergiß ihn'' . Aber gerade die vielfältigen Möglichkeiten des Emacs werden ihm manchmal zum Verhängnis: Weil jeder Hersteller Funktionstasten anders (oder gar nicht) belegt und manche meiner Kollegen (und ich nehme an, auch einige Benutzer) keine Lust haben, Belegungen von Control-a bis Control-x Control-z auswendig zu lernen, weichen inzwischen einige sogar schon auf den total primitiven ``xedit'' aus! Damit es soweit nicht kommt, haben wir das Konzept der Funktionstasten-Belegung auf den Convexen völlig überarbeitet, so daß nun die Möglichkeit besteht, Belegungen zu benutzen, die für alle verfügbaren Terminaltypen gleich sind und auch von jedem Benutzer leicht eigenen Bedürfnissen angepaßt werden können. Damit aber alte Emacs-Hasen auf der Convex nicht auf ihre gewohnte Umgebung verzichten müssen, bleiben gleichzeitig die bisherigen Einstellungen weiter verfügbar. Sie werden allerdings nicht mehr gepflegt oder anderweitig unterstützt.

Alle vom Rechenzentrum hinzugefügten speziellen Emacs-Erweiterungen (selbst geschriebene und von außerhalb dazugekommene) werden in Zukunft an einer Stelle gesammelt, darunter auch besagte Terminal-Anpassungen. Um darauf automatisch zugreifen zu können, muß man den Emacs-internen Suchpfad entsprechend erweitern, indem man im File ~/.emacs folgende Zeile einfügt (bzw. ein solches File mit folgendem Inhalt anlegt):


     (setq load-path (append '("/usr/local/lib/emacs") load-path))

Von da ab gilt für alle vom Rechenzentrum unterstützten Terminals folgende Funktionstasten-Belegung:



      F1       F2       F3       F4       F5       F6       F7       F8
   _______________________________________________________________________ 
  |command | get    |  save  |        |two/one |  next  | search |        |
  |        |        |        | mark   |        |        |        | help   |
  | mode   | file   |  file  |        |windows |  page  | forward|        |
   ----------------------------------------------------------------------- 
    
    mit Shift (bzw. Control beim PT45):
  
      F1       F2       F3       F4       F5       F6       F7       F8
   _______________________________________________________________________ 
  |        | insert |        |        | other  |previous| search |        |
  | exit   |        |  cut   | paste  |        |        |        |replace |
  |        |  file  |        |        | window |  page  |backward|        |
   -----------------------------------------------------------------------

Diese Tabelle kann man sich jederzeit ansehen, indem man die Funktion key-help aufruft (also: ``ESC x key-help'' oder ``F1 key-help'') und dann eine ``1'' eingibt (``function keys'').

Auch die Anpassung an eigene Vorstellungen ist jetzt unabhängig vom benutzten Terminal leicht möglich. Beispielsweise ändern die beiden Zeilen


   (define-key function-keymap (char-to-string 5) 'beginning-of-buffer)
   (define-key function-keymap (char-to-string 21) 'end-of-buffer)

im .emacs-File die Belegung der F5- und Shift-F5-Taste, unabhängig vom verwendeten Terminal-Typ. Um auch mehr als acht Funktionstasten verwenden zu können, sind die Nummern 1 bis 16 für normale Tasten vorgesehen, 17 bis 32 für die entsprechenden geshifteten Tasten.

Benutzer von Terminals, die über den Omnimux angeschlossen sind, haben mit einigen Tasten Probleme: Die Tastencodes C-r (``Control-r''), C-s und C-q werden vom Netzwerk abgefangen und für eigene Zwecke verwandt. Damit die zugehörigen Funktionen über andere Tasten erreicht werden können, wurden bisher einige Tasten global umdefiniert. Dieses Verfahren hat aber den Nachteil, daß Handbuch und TUHH-Wirklichkeit auseinanderklaffen. Weil immer mehr Benutzer inzwischen über Ethernet angeschlossen sind, wird diese Umdefinition nicht mehr automatisch verwendet. Wer sie weiter benutzen will, muß folgende Zeile in sein .emacs-File aufnehmen:


     (load \"omnimux" nil t nil)

Anschließend kann man sich mit ``key-help'' unter Punkt 2 (``global key changes'') ansehen, welche Tasten geändert wurden.

Wer auch auf der eigenen Workstation bei der Arbeit mit dem Emacs die gleichen Verhältnisse wie auf der Convex haben will, braucht sich nur ein Directory für eigene Erweiterungen zu suchen, alle Files von /usr/local/lib/emacs dorthin zu kopieren und den load-path entsprechend zu erweitern. Für die hier beschriebene Tastaturbelegung sind folgende Files nötig: keypad.el, omnimux.el, tuhh.el und aus dem term-Directory die Files für die verwendeten Terminals (hauptsächlich wohl x-win.el).

Peter Junglas



Next: 2. Treffen der Up: Allgemeines Previous: Neuer Farbdrucker