
# Verwendung von Emacs mit Neo2

## Fehlermeldung *`<key-17>` is undefined* (siehe [#221](https://git.neo-layout.org/neo/neo-layout/issues/221))
Trage in der Datei, die die Einstellungen von Emacs enthält (normalerweise **~/.emacs**), den folgenden Befehl ein und starte Emacs dann neu:
```
(define-key special-event-map (kbd "<key-17>") 'ignore)
```

## Mac OS

Leider gibt es bei der Verwendung von Emacs mit Neo2 unter Mac OS einige Probleme, da dort die Option-Taste oft als Meta-Taste benutzt wird. Hier ist eine Möglichkeit, wie man dieses Problem beseitigen kann:

Das Ziel ist, dass die CapsLock-, „#“- und rechte Option-Taste als Umschalter für die 3. Ebene dienen, die linke Option-Taste jedoch in Emacs als Meta-Taste fungiert.

Getestet mit:

  * Mac OS 10.6.6-10.8.5
  * Emacs 23.3-24.3 von [emacsformacosx.com](http://emacsformacosx.com/) und [Homebrew](http://brew.sh/)

Benötigte Programme:

 * [PCKeyboardHack](http://pqrs.org/macosx/keyremap4macbook/extra.html)
 * [KeyRemap4MacBook](http://pqrs.org/macosx/keyremap4macbook/index.html)

### Einschränkungen

Tastenkombinationen mit Ctrl und Zeichen aus der 3. Ebene (z. B. Ctrl-_ ) funktionieren nicht, da die Tastenkombinationen mit der 3. Ebene Ctrl + merkwürdige Unicode-Zeichen erzeugen. Alternative zu C-_ wäre z. B. CMD-z, da über die CMD-Taste viele Standard Mac OS X Shortcuts verfügbar sind. Allerdings ist es möglich, die entstehenden Zeichen wieder zurück auf ihre ursprüngliche Funktion zu mappen, z. B.
```
;; C--
(global-set-key (kbd "C-<268632084>") 'text-scale-decrease)
;; C-+
(global-set-key (kbd "C-<268632066>") 'text-scale-increase)
;; C-M-%
(global-set-key (kbd "C-M-<268632077>") 'query-replace)
```

Beim Programmieren kann es hilfreich sein, die auf der 3. Ebene erzeugten speziellen Leerzeichen zu deaktivieren, da sie in manchen Fällen zu schwer zu findenden Fehlern in Quellcode führen können. Das kann man z. B. indem man ein neues Tastenkürzel festlegt, welches anstatt diesem Zeichen ein normales Leerzeichen einfügt:
```
(global-set-key (kbd " ") " ")
```

### Vorgehen

  1. in den Systemeinstellungen: 
    * in Tastatur->Sondertasten die Feststelltaste auf "Keine Aktion" stellen (alles andere auf Standard)
  * in PCKeyboardHack "Change Caps Lock" auf 61 setzen (d. h. rightOption)
  * in KeyRemap4MacBook 
    * "NEO Keyboard Layout Fixes" aktivieren
    * "Change Option_R Key > Option_R to Command_R" darf nicht aktiviert sein!
  * in Emacs ns-right-alternate-modifier auf "none" und ns-alternate-modifier auf "meta" setzen (d. h. Emacs verwendet nur die linke Option-Taste als Meta). Dies kann man z.B. erreichen indem man folgendes zu ~/.emacs hinzufügt:
```
(setq ns-right-alternate-modifier nil)
(setq ns-alternate-modifier 'meta)
```

Fertig!

## Ergonomische Belegungen

!!! todo "Verbesserungen erwünscht"
    Dieser Abschnitt wurde von einem freundlichen vim-Nutzer verfasst und freut sich über Verbesserungen.

Wer unschönen Erkrankungen vorbeugen will, sollte sich mit ergonomischeren Emacs-Belegungen auseinandersetzen.

Ein gutes Beispiel ist der [ErgoEmacs-Mode](http://ergoemacs.github.io/ergoemacs-mode/) (Diskussion [hier](http://ergoemacs.org/emacs/vi_esc_syndrome.html)).
Vom Verfasser der Diskussion gibt es auch noch [weitere Anregungen](http://ergoemacs.org/emacs/vi_esc_syndrome.html).
