Was Mac-User aufregt: zsh: command not found more

Gerade hat mir ein guter Bekannter erzählt, dass er seinen Mac abgeschafft hat, weil er ihm auf den Keks ging. Neben vielen Eigenschaften, die man tatsächlich unter Peak Apple zusammenfassen kann, ist die Konsolen-Nutzung auf dem Mac manchmal etwas hakelig.

Das liegt vorwiegend an der Platzierung von Sonderzeichen auf der deutschen Tastatur-Belegung unter OS X. Im Alltagsgebrauch fällt das nicht weiter auf, aber sobald es um die beim Programmieren oft nötigen Zeichen wie [], {}, | und \ geht, hat man erstmal ein Problem.

Zeichen Windows/Linux OS X
[ Alt Gr + 8 Alt + 5
] Alt Gr + 9 Alt + 6
{ Alt Gr + 7 Alt + 8
} Alt Gr + 0 Alt + 9
| Alt Gr + < Alt + 7
\ Alt Gr + ß Alt + Shift +7
@ Alt Gr + Q Alt + L

Das führt vor Allem beim Umstieg von Linux oder Windows zum Mac zu Verwirrung und Frustration. Da diese Art der Belegung schon relativ alt ist, ist das einfach ein alter Fail, der nie eine ordentliche Verbesserung erfahren hat und zu echten Problemen führt.

Zurück zum ursprünglichen Thema: Unter unixoiden Betriebssystemen möchte man hin und wieder die Ausgabe eines Command Line Tools in eine Pipe umleiten. Typisches Beispiel, man hat ein großes Directory-Listing und möchte mit more durchblättern. Typischerweise sieht das so aus:

skaupp@Frankenstein:~>ls -l | more

Die Erwartete Ausgabe ist, dass das aktuelle Verzeichnis aufgelistet und die Ausgabe am Ende des Bildschirms angehalten wird. Das Ergebnis ist aber eine Fehlermeldung:

zsh: command not found:  more

Der Grund dafür ist letztendlich die tatsächliche Eingabe. Statt einem Leerzeichen, ist ein unbreakable space eingefügt worden. Tippt man auf einem Mac das Pipe-Zeichen (|), liegt der Finger danach noch auf der Alt-Taste, und drückt man nun auf die Leertaste, ist das kein normales Leerzeichen mehr. Auf dem Bildschirm sieht man aber keinen Unterschied, daher wird statt “more”  " more” aufgerufen, ein Programm, das es nicht gibt.

Neben der einfachsten Lösung, das nach der Pipe überflüssige Leerzeichen einfach auszulassen, kann man natürlich auch versuchen, die Alt-Taste früher loszulassen.

Beides sind jedoch Lösungen für ein unnötiges und nerviges Problem.

Schlimmer ist nur noch, dass aus Gewohnheit Cmd-Q getippt wird, wenn man eine E-Mail-Adresse eintippt. Die von Windows oder Linux gewohnte Tastenbelegung Alt Gr + Q gibt es so nicht unter OS X. Stattdessen beendet dieser Griff Anwendungen.