Next: Importieren von Texten Up: Umlaute unter UNIX Previous: Umlaute unter X11

Umlaute im Emacs

Der Emacs zeigt Zeichen im Bereich normalerweise als Hex-Codes an. Soll er statt dessen das 8-Bit-Zeichen selbst ausgeben, kann man dies ein- und ausschalten mit


    M-x standard-display-european
oder direkt im .emacs-File aktivieren:

   (standard-display-european 1)
Unter X11 muß dazu auch ein entsprechender Zeichensatz verwendet werden (s.o.), an anderen Terminals kann man gespannt sein, was aus dem Zeichen wird.

Damit die ISO-Zeichen auch die richtigen Syntax-Eigenschaften bekommen - sonst wird jeder Umlaut als Worttrenner interpretiert - muß noch die Library ``iso-syntax'' geladen werden, etwa im .emacs-File mit


    (load-library "iso-syntax")
Das Eingeben von Sonderzeichen geschieht unter X11 direkt (s.o.). Da Alt_Lund Alt_Rverschieden belegt wurden, kann man die Alt_L-Taste nach wie vor für Emacs-Kommandos als Meta-Taste verwenden (etwa statt ``Escape x'' einfach ``Alt-x'' eingeben).

Terminal-Benutzer haben es da schwerer, denn der Emacs blendet dort das achte Bit gnadenlos aus. Um trotzdem an Sonderzeichen zu kommen, gibt es ab Emacs 19.22 den ISO-Accents-Mode. Nachdem man ihn aktiviert hat - interaktiv über ``M-x iso-accents-mode'' oder im .emacs-File mit


    (iso-accents-mode 1)
-, kann man ISO-Zeichen durch relativ naheliegende Kombinationen von Tasten erreichen, z.B. die Umlaute durch a, A .., ß durch s ø durch /o, è durch `e usw. Die Zeichen , `, ', ^, /, selbst erhält man durch ein nachgestelltes Leerzeichen.

Wer noch den Emacs 19.19 hat oder nur die deutschen Sonderzeichen braucht und die Extra-Zeichen außer nicht verdecken will, kann folgendermaßen vorgehen:

Zunächst lädt man die Bibliothek iso-insert - wieder am besten im .emacs-File:


   (load-library "iso-insert")
Dadurch werden die Kommandos ``insert-a-umlaut'' etc. definiert und auf die Tasten C-x 8 a usw. gelegt, ``insert-ss'' auf C-x 8 s . Dann legt man sich die deutschen Umlaute und ß explizit auf die Kombinationen a usw. und sucht sich noch eine Kombination für das , bei mir ist das . Um nun einfach zwischen ISO-Texten und normalen Texten (z.B. Programmen oder Englisch) hin- und herzuschalten, definiert man sich die beiden Funktionen iso-on und iso-off im .emacs-File:

  (load-library "iso-insert")
  (load-library "iso-syntax")

  (defun iso-on ()
    (interactive)
    (standard-display-european 1)
    (local-unset-key "\"")
    (local-set-key "\"a" 'insert-a-umlaut)
    (local-set-key "\"o" 'insert-o-umlaut)
    (local-set-key "\"u" 'insert-u-umlaut)
    (local-set-key "\"A" 'insert-A-umlaut)
    (local-set-key "\"O" 'insert-O-umlaut)
    (local-set-key "\"U" 'insert-U-umlaut)
    (local-set-key "\s{}" 'insert-ss)
  (local-set-key "\"\""  '(lambda () (interactive) (insert "\"")))
  )

  (defun iso-off ()
    (interactive)
    (standard-display-european -1)
    (local-set-key "\"" 'self-insert-command)
  )
Danach wird mit dem Kommando ``M-x iso-on'' die Darstellung der 8-Bit-Zeichen von Hex- auf ISO-Darstellung umgeschaltet. Außerdem kann man Umlaute dann mit a, s , ... eingeben, das mit . Zur normalen Darstellung und Tastenbelegung kommt man mit ``M-x iso-off''.

Noch ein Tip für Emacs-Freaks: Möchte man die ISO-Darstellung nur für den text-mode verwenden, kann man direkt den text-mode-hook dazu verwenden, der bei mir dann folgendermaßen aussieht:


  (setq text-mode-hook
      '(lambda ()  
         (auto-fill-mode 1)
         (setq fill-prefix "  ")
         (setq fill-column 77)
         (iso-on)
       )
  )
Mit dieser Anweisung im .emacs-File wird bei jedem Buffer im Text-Mode die iso-on-Funktion ausgeführt (und einige weitere für das automatische Zeilenumbrechen). Wer es ganz bequem haben möchte, kann dafür sorgen, daß alle Files mit der Endung ``.txt'' automatisch im text-mode geladen werden, indem er die folgenden Zeilen seinem .emacs-File anfügt:

  ;; .txt-Files sollen automatisch im Text-Mode aufgerufen werden
  (setq auto-mode-alist
    (append 
      '(("\\ .txt$" . text-mode))    ; *.txt
       auto-mode-alist)
  )


Next: Importieren von Texten Up: Umlaute unter UNIX Previous: Umlaute unter X11