Re: Home, End, Del: Inkonsistent - GRRRRRR!

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Mon, 13 Sep 2004 12:07:51 +0200 (CEST)

Marcus Frings <iam-est-hora-surgere(at)despammed.com> wrote:
> ich kämpfe hier mit dem inkonsistenten Verhalten der oben genannten
> Tasten unter aterm, xterm und der reinen Textkonsole. In meiner
> ~/.zsh/zsh-bindings habe ich folgendes eingefügt:
>
> ,----
> | bindkey "^[[1~" beginning-of-line # Home
> | bindkey "^[[4~" end-of-line # End
> | bindkey "^[[3~" delete-char # Entf
> `----

Verschiedene Terminals erzeugen verschiedene Escape-Sequen-
zen für die jeweiligen Steuertasten. Das ist relativ nor-
mal. Bei xterm z.B. kannst Du per Resource konfigurieren,
was es für Escape-Sequenzen erzeugen soll. Das geht bei
aterm bestimmt auch, wenn es sich brav an die X11-Konven-
tionen hält. Und syscons (ich nehme an, das meinst Du mit
»Konsole«) wiederum verwendet ANSI-Escape-Sequenzen.

Ich habe der Einfachheit halber alle gängigen Sequenzen
in meine ~/.zshrc mit reingetan. Da stehen u.a. auch fol-
gende Zeilen drin:

bindkey "^[[g" beginning-of-line
bindkey "^[[1~" beginning-of-line
bindkey "^[[h" end-of-line
bindkey "^[[4~" end-of-line
bindkey "^[[3~" delete-char
bindkey "^?" delete-char

Was für Escape-Sequenzen ein Terminal sendet, kann man mei-
stens herausfinden, indem man einfach »cat« eingibt und
dann die jeweiligen Steuertasten drückt.

Übrigens: Wie sich »Delete« und »Backspace« verhalten
sollten, darüebr wird häufig gestritten. Es gibt da keinen
Standard. Ich persönlich ziehe es vor, wenn Backspace das
Zeichen vor dem Cursor löscht, und Delete das Zeichen hin-
ter dem Cursor (bzw. »unter« der Cursor, wenn man einen
Blockcursor hat). Das ist das klassische DOS-/Windows-Ver-
halten. Aber es gibt genausogut Leute, die meinen, daß das
umgekehrte Verhalten das »richtige« sei.

Aber das ist halt der Vorteil von UNIX -- Man kann _alles_
so hinkonfigurieren, wie man es haben möchte.

> Wie kann ich überall gleiches Verhalten erzielen und warum beachtet
> xterm nicht die Home- und End-Bindings auch meiner zsh-Konfiguration?

Deine Terminals (egal ob xterm oder sonstwas) wissen doch
gar nichts von Deiner zsh-Konfiguration. Die wissen ja
nicht einmal, was Du für eine Shell verwendest, und das
ist ja auch nicht ihr Job.

> [1] aterm musste ich mit der Option "WITH_BSDEL"[2] kompilieren, weil sich
> sonst die Del-Taste wie die Backspace-Taste verhält (warum ist diese
> Option kein Default?).

Weil es unterschiedliche Ansichten darüber gibt, welches
der richtige Default sein sollte (siehe oben).

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
cat man du : where Unix geeks go when they die
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 13 Sep 2004 - 12:08:20 CEST

search this site