Перезавантаження ключів у iterm2


15

Я намагаюся перевпорядкувати деякі комбінації клавіш за замовчуванням в iTerm2, і хотів би зрозуміти, що відбувається, коли я прив'язую клавіші до "Надіслати шістнадцяткові коди".

Попередня публікація допомогла мені розпочати перезавантаження комбінацій клавіш ctrl-a та ctrl-e на cmd-ліворуч та cmd-право відповідно, але я також хотів би перевпорядкувати інші ключові комбо. ( Посилання на попередню публікацію Stackoverflow ).

У мене розпливчасте розуміння того, що тут є шістнадцяткові коди, але я знаходжусь у такій точці, коли я не можу зрозуміти, куди йти далі, щоб зрозуміти, що відбувається або що робити.


Не має нічого спільного з баш. Тег видалено

Відповіді:


16

Ці шістнадцяткові коди - це лише послідовності байтів. Наприклад, відображення комбінації клавіш для того 0x66 0x6f 0x6f, щоб вона вставила foo. 0xc3 0xa4буде вставлено ä, якщо ви використовуєте UTF-8. 0x1b 0x1b 0x5b 0x43засоби escape escape [ C.

Деякі послідовності байтів, такі як послідовності відходу ANSI, і навіть одиничні байти, такі як символи керування ASCII, мають особливі значення в терміналах.

Щоб зробити ⌘ ← і ⌘ → перейти на початок і кінець рядка, ви можете призначити їх 0x01 (^ A у каретній нотації) і 0x05 (^ E у каретній нотації):

  • ⌘ ←: Надіслати шістнадцяткові коди: 0x01
  • ⌘ →: Надіслати шістнадцяткові коди: 0x05

Ви можете ⌥⌦ видалити слово вперед, призначивши його \ed:

  • ⌥⌦: Надіслати ^ [д

Зміна ⌥ ← і ⌥ → в \ebі \efв налаштуваннях iTerm також змінить їх у програмах, які не підтримують вкладені в стилі readline або emacs стилі. Інший варіант - додати це до ~ / .inputrc :

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

Ви можете запустити readта натиснути комбінації клавіш, щоб побачити, які символи вони вставляють. Наприклад, ⌥ ← вставляє ^[^[[Dза замовчуванням, де ^[є біг у позначенні карет .

Дивіться також http://code.google.com/p/iterm2/wiki/Keybindings .


Спасибі. Я біжу в цей відповідь при пошуку рішення для мого питання тут . Як я можу шукати шістнадцятковий код для конкретної комбінації клавіш? (В моєму випадку я зацікавлений в комбінації Ctrl+Alt+<char>з <char>того i, j, k, lі u)
Амеліо Васкес-Рейн

6

Я б запропонував встановити Ключові коди (0 дол. США) від багатьох прийомів і з’ясувати ярлики для себе.

Наприклад, якщо ви хочете перезаписати ярлик за замовчуванням для (вперед) видалення графіка - це Ctrl-D ( ⌃D) - бути таким же простим, як натискання клавіші видалення вперед ( ), ви ...

  1. Відкрийте додаток і натисніть Ctrl-D

    Приклад основних кодів

  2. Знову в iTerm 2 додайте ярлик Unicode в iTerm> Налаштування> Клавіші

    iTerm Надіслати шістнадцяткові коди

Примітка. Не копіюйте та не вставляйте їх, просто введіть Unicode без пробілів.


2

Найкращий спосіб, який я знайшов, - це або надсилання ключових кодів (як описано в @pattulus, або за допомогою прив'язки ключів vim.

Примітка щодо ключових кодів: насправді ви не можете змусити його працювати, надіславши рядок unicode, як описано вище, вам потрібно надіслати і модифікатор, і ключ для отримання в разі Control+ Dвам потрібно надіслати це як код: 0x840101 0x4де 0x840101модифікатор ключа управління і їх можна отримати за допомогою Ключового коду .

Примітка щодо надсилання як послідовності vim : Як описано в документації на iTerm2 , ви можете надіслати код ключа у форматі прив'язки vim, наприклад \<C-d>для надсилання Control+ D(зауважте, що \важливо).

Я особисто віддаю перевагу прив'язці ключів vim, тому що це читабельніше, і пізніше ви зрозумієте, що ви зробили.


1

Ознайомтесь з Карабінером .

У цьому інструменті ви можете створити ключові спеціальні відображення, характерні для додатків. У комплекті є деякі інструменти, які допоможуть у цьому допомогти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.