Я не можу говорити за iTerm, але це клавішні зв’язки, які я використовував для вирішення цієї проблеми в терміналі GNOME, на Fedora 19, що працює з ZSH 5.0.7 з Oh-my-zsh:
bindkey "\e[1;3C" forward-word
bindkey "\e[1;3D" backward-word
де \e
== послідовність ключа-ключа (як це зафіксовано у розділі 4.1.1 )
і [
== O
(великі регістри O; як це зафіксовано у розділі 4.2.1 ), у деяких випадках. Бо, наприклад, tmux
ця заміна мені потрібна, проте без tmux
неї не потрібно робити заміни і [
==[
Ключові коди послідовності можна отримати, використовуючи cat
та натискаючи потрібну послідовність. Наприклад, результати пресування <Alt+Right>
слід інтерпретувати так:
$ cat
^[[1;3C
^[
== \e
== Послідовність ключа-ключа
[
== [
без tmux
АБО
[
== O
(великі регістри о) зtmux
1;3
== Я не впевнений у цьому, але це має логічно означати <Alt>
C
== Права клавіша зі стрілкою
Потім ця послідовність задається bindkey
у ~/.zshrc
файлі для збереження, як перший аргумент, і пов'язана , що означає, що натискання клавіші в аргументі 1 виконує певну команду редактора (або віджет в zsh термінах), до віджета, який у першому рядок наведеного вище прикладу є forward-word
.
Після ~/.zshrc
повторного використання цих двох команд до нього слід додати:
$ source ~/.zshrc
Тепер одне роздратування в моїй системі полягає в тому, що саме ця комбінація викликала емулятор терміналу видавати звуковий сигнал щоразу, коли команда була видана, це я усунув, відключивши
'Edit'->'Profile Preferences'->'Terminal Bell'
прапорець.
FOO=BAR
це одне слово до zsh і 2 слова bash. Аналогічно, якщо ви встановите курсор на кінецьfoo --bar
та зробите alt + backspace, у bash ви будете мати,foo --
а в zsh - матиметеfoo
. Zsh додає багато можливостей для башти, але він також має безліч божевільних значень за замовчуванням.