Ich kann nicht für iTerm sprechen, aber dies sind die Tastenkombinationen, mit denen ich dieses Problem unter GNOME Terminal auf Fedora 19 unter ZSH 5.0.7 mit Oh-my-zsh gelöst habe:
bindkey "\e[1;3C" forward-word
bindkey "\e[1;3D" backward-word
where \e== Die Escape-Tastenfolge (wie in Abschnitt 4.1.1 dokumentiert )
und [== O(Großbuchstabe O; wie in Abschnitt 4.2.1 dokumentiert ), in einigen Fällen. Denn zB tmuxist bei mir unter diesem Punkt eine Substitution notwendig, ohne tmuxdass jedoch eine Substitution vorgenommen werden muss und [==[
Die Tastencodes für eine Sequenz können durch catDrücken der gewünschten Sequenz abgerufen werden . Zum Beispiel sollten die Ergebnisse des Pressens <Alt+Right>so interpretiert werden:
$ cat
^[[1;3C
^[== \e== Die Escape-Tastenfolge
[== [ohne tmuxODER
[== O(Großbuchstabe o) mittmux
1;3 == Ich bin mir nicht sicher, aber es sollte logisch bedeuten <Alt>
C == Die rechte Pfeiltaste
Dann wird diese Sequenz als erstes Argument bindkeyin der ~/.zshrcDatei für die Persistenz angegeben und ist gebunden , was bedeutet, dass der Tastenanschlag in Argument 1 einen bestimmten Editorbefehl (oder ein Widget in zsh-Ausdrücken) für das Widget ausführt, welches im ersten Zeile des obigen Beispiels ist forward-word.
Die ~/.zshrcsollte neu bezogen werden, nachdem diese beiden Befehle mit angehängt wurden:
$ source ~/.zshrc
Ein Ärger auf meinem System ist nun, dass diese spezielle Kombination dazu führte, dass der Terminalemulator jedes Mal, wenn der Befehl ausgegeben wurde, einen Piepton ausgab
'Edit'->'Profile Preferences'->'Terminal Bell' Kontrollkästchen.
FOO=BARist ein Wort für zsh und 2 Wörter für bash. Wenn Sie den Cursor auf das Ende von setzenfoo --barund die Tastenkombination Alt + Rücktaste drücken, erhalten Sie in Bashfoo --und in Zshfoo. Zsh fügt Bash viele Funktionen hinzu, aber es gibt auch viele verrückte Standardeinstellungen, die überschrieben werden müssen.