Использование Alt / Cmd + стрелка вправо / влево в iTerm

219

Можно ли перемещаться между словами в iTerm, используя Alt + Стрелки вправо / влево? Теперь, если я нажму Alt + Left, я получу '[D' и '[C', если я нажму Alt + Right.

Димас
источник
Просто добавив примечание для тех, кто просто хочет знать, возможно ли это сделать с помощью некоторых горячих клавиш, есть способ. Если вы хотите отобразить его, это нормально, но в терминале CTRL + A будет идти в начало строки, а CTRL + E - в конец. Option + Влево, чтобы перейти к началу слова, а затем Option + вправо до конца слова.
Август

Ответы:

256

Перейдите в «Настройки» iTerm → Профили, выберите свой профиль и перейдите на вкладку «Ключи». Нажмите «Загрузить стиль» и выберите «Редактирование естественного текста».

Гордон Гао
источник
2
Это включает пропуск слова, но с использованием клавиши cmd, а не клавиши opt (это то, что используют все другие приложения Apple).
TheProletariat
3
В декабре 2018 года в Мохаве клавиша opt перемещается между словами после выбора естественного редактирования текста.
Роб Доусон
1
Я страдал месяцами без этого, но сегодня ты мой спаситель.
Райми бин Карим
3
Обратите внимание, что это «Настройки»> «Профили»> «Ключи»> «Загрузить настройки», а не «Настройки»> «Ключи»> «Настройки загрузки»
kevin,
162

Перейдите в «Настройки» iTerm → Профили, выберите свой профиль и перейдите на вкладку «Ключи». Найдите ⌥ ← и ⌥ → и установите их для отправки escape-последовательности bи send escape-последовательности fсоответственно.

Отображение alt-right для перемещения курсора вперед на одно слово

Если вы используете ⌘ → и ← ⌘, вам нужно будет переназначить ярлыки следующей и предыдущей вкладок, которые по умолчанию установлены на них. Терминал использует these → и ⇧⌘ ← для них.

Вы можете сделать это в разделе «Профили» или просто глобально в разделе «Ключи» (показано ниже), если вы хотите установить его глобально. Обратите внимание, что настройки в профилях переопределяют глобальные настройки в ключах.

Глобальное отображение alt-right для перемещения курсора вперед на одно слово

Grg
источник
24

Если вы используете Bash, вы также можете добавить

"\e\e[D": backward-word
"\e\e[C": forward-word

к ~/.inputrc.

LRI
источник
1
Это сработало лучше для меня. Попытка настроить его в iTerm2 только генерируется [Dили [Cкаждый раз, когда я пытаюсь использовать новое действие кнопки. Спасибо.
dgig
Насколько я могу судить, вы ничего не можете сделать в iTerm2 v3.0.10. Это должна быть установка bash.
Fiorix
1
Не уверен iTerm2 v3.0.10, но iTerm2 v3.0.14определенно работает с Natural Text Editingрешением, поэтому вам не нужно прибегать к настройке ввода bash.
Двандерсон
10
  1. Перейдите: Настройки > Профили > Ключи

  2. Посмотрите на действия ⌥ ← и ⌥ →. Они были бы сопоставлены с: Отправить шестнадцатеричные коды

  3. Измените их на Send Escape последовательность с Esc+ Bдля назад и Esc+ Fдля вперед.

yottabytt
источник
2

Поздно в игре, но для визуального:

введите описание изображения здесь

А именно, см. Esc+ Выбран.

JustGage
источник
1

CMD + Удалить - Отправить шестнадцатеричный код - 0x15

Удалить всю строку (аналогично Option + U)

neaumusic
источник
0

Для zsh я вставил в ~ / .zshrc

bindkey "\e\e[D" backward-word
bindkey "\e\e[C" forward-word

для bash я вставил в ~ / .inputrc

"\e\e[D": backward-word
"\e\e[C": forward-word
Ник Корольков
источник