7

Я настроил несколько пользовательских сочетаний клавиш в iTerm2, чтобы легко перемещать курсор с помощью клавиш со стрелками, но теперь я хотел бы переназначить Ctrl+E на Esc, Ctrl+E, потому что Bash 4.2 больше не выполняет автоматическое расширение переменных с помощью клавиша Tab

Я знаю, что правильно сделал первую часть в выборе сочетания клавиш для переназначения, но я не понимаю, как найти правильную escape-последовательность (или шестнадцатеричные коды) для отправки в нижней части:

picture.png

Я ссылаюсь на коды клавиш, но это не сильно помогло.

Как я могу переназначить это, и как я могу искать коды в будущем? (Не везет с гуглом)

Обновить

@db - спасибо. Чтобы избавить других от неприятностей, я также нашел классную утилиту Key Codes.app, которую можно использовать для поиска кодов клавиш:

picture.png

1 ответ1

4

Используйте следующее: Отправить шестнадцатеричные коды: 0x1B 0x05

  • Escape - это ASCII 27 (он часто записывается как восьмеричный \033 если ваша оболочка не знает \e).

  • Комбинации Ctrl-[Character] приводят к коду ASCII, соответствующему положению символа в алфавите. Хорошо известными примерами являются ^H для ASCII 8 (Backspace), ^C для ASCII 3, Конец текста или ^D для ASCII 4, Конец передачи, и аналогичным образом, нажатие ^E приводит к ASCII 5 - так что шестнадцатеричный код должен быть отправлен вместо.

Вы даже можете использовать это (я не могу представить реальный вариант использования, но не будем об этом беспокоиться), чтобы заменить нажатие Enter (перевод строки) на ^J или нажатие клавиши Tab на ^I Смотрите здесь для получения дополнительной информации о контрольных символах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .