Nie mogę mówić w imieniu iTerm, ale są to skróty klawiszowe, których użyłem, aby rozwiązać ten problem w GNOME Terminal na Fedorze 19 z systemem ZSH 5.0.7 z Oh-my-zsh:
bindkey "\e[1;3C" forward-word
bindkey "\e[1;3D" backward-word
gdzie \e
== Sekwencja klawiszy Escape (zgodnie z dokumentacją w sekcji 4.1.1 )
i [
== O
(wielkie litery O; jak udokumentowano w sekcji 4.2.1 ), w niektórych przypadkach. Na przykład w ramach tmux
tej substytucji jest dla mnie konieczna, jednak bez tmux
niej nie jest wymagana żadna zamiana i [
==[
Kluczowe kody sekwencji można uzyskać, cat
naciskając i naciskając żądaną sekwencję. Na przykład wyniki prasowania <Alt+Right>
należy interpretować w następujący sposób:
$ cat
^[[1;3C
^[
== \e
== Sekwencja klawiszy Escape
[
== [
bez tmux
OR
[
== O
(wielkie litery o) ztmux
1;3
== Nie jestem tego pewien, ale logicznie powinno to znaczyć <Alt>
C
== Klawisz strzałki w prawo
Następnie ta sekwencja jest podana bindkey
w~/.zshrc
pliku jako trwały jako pierwszy argument i jest związana , co oznacza, że naciśnięcie klawisza w argumencie pierwszym spowoduje wykonanie określonego polecenia edytora (lub widgetu w kategoriach zsh) do widgetu, który w pierwszym wiersz powyższego przykładu to forward-word
.
The ~/.zshrc
Należy ponownie pochodzą od tych dwóch polecenia są dodawane do niego z:
$ source ~/.zshrc
Teraz jedną z irytacji w moim systemie jest to, że ta konkretna kombinacja spowodowała, że emulator terminala wydawał sygnał dźwiękowy za każdym razem, gdy polecenie było wydawane, co naprawiłem, wyłączając
'Edit'->'Profile Preferences'->'Terminal Bell'
pole wyboru.
FOO=BAR
to jedno słowo do zsh i 2 słowa do bash. Podobnie, jeśli ustawisz kursor na końcufoo --bar
i zrobisz alt + backspace, w bash będziesz miał,foo --
aw zsh będziesz miałfoo
. Zsh dodaje wiele funkcji do bash, ale ma również wiele szalonych ustawień domyślnych do zastąpienia.