2

Я хочу изменить функциональность некоторых сочетаний клавиш и добавить некоторые из них в Terminal в OSX, чтобы:

  1. alt + delete удаляет одно слово слева

  2. cmd + i выбираю весь свой ввод

Я ввел "Терминал" -> "Настройки" -> (выбранный профиль) -> клавиатура и вижу таблицу, которую не могу расшифровать. Я также не могу найти в Google ничего, что сопоставляет эзотерическую символику с "действиями" (например, \033[3~ означает "удалить").

Как я могу изменить ярлыки терминала для достижения моих 2 целей выше, или, где я могу найти руководство, чтобы сопоставить символы, показанные в моем примере выше (также см. Изображение), с «действиями»?"

Снимок экрана настроек клавиатуры

Этот вопрос не связан с добавлением сочетаний клавиш для терминала OSX или xterm, потому что я не пытаюсь назначить функцию / команду bash для клавиши.

1 ответ1

2

Лучший способ узнать об изменении поведения клавиатуры / мыши по умолчанию - это Karabiner .

Ты можешь сделать

  1. alt + delete удаляет одно слово слева
  1. Установите Карабинер. Это действительно удобный инструмент для сопоставления клавиш.
  2. В Preferences>Complex Modifications нажмите « Add Rule
  3. Теперь нажмите Import more rules from the Internet
  4. В открывшемся окне браузера нажмите на « Application Specific
  5. Против Navigation in Terminal Apps нажмите кнопку « Import
  6. Вам будет предложено открыть загруженный файл, сделайте это в Karabiner.app
  7. Вы увидите список вариантов. Импортируйте их.
  8. Теперь в « Preferences>Complex Modifications нажмите « Add Rule
  9. Против ⌥ + ⌫ Delete one word нажмите Enable

Что касается

2. cmd + i выбираю весь свой ввод

Приложение MacOS Terminal не позволяет выделять текст без мыши (если только вы не хотите выделять весь текст в текущем окне с помощью ⌘ +A). Поэтому, если вы хотите выделить текст, вам нужно эмулировать мышь.

Вы можете добавить этот код в karabiner.json для создания тройного клика.

               {
                    "description": "⌥ + i | Select current line",
                    "manipulators": [
                        {
                            "conditions": [
                                {
                                    "bundle_identifiers": [
                                        "^com\\.apple\\.Terminal$",
                                        "^com\\.googlecode\\.iterm2$",
                                        "^co\\.zeit\\.hyperterm$",
                                        "^co\\.zeit\\.hyper$"
                                    ],
                                    "type": "frontmost_application_if"
                                }
                            ],
                            "from": {
                                "key_code": "i",
                                "modifiers": {
                                    "mandatory": [
                                        "option"
                                    ]
                                }
                            },
                            "to": [
                                {
                                    "pointing_button": "button1"
                                },
                                {
                                    "pointing_button": "button1"
                                },
                                {
                                    "pointing_button": "button1"
                                }
                            ],
                            "type": "basic"
                        }
                    ]
                },

Эти "действия" являются конечными escape-последовательностями. Они действительно древние. \033 - управляющий символ, за которым следуют некоторые другие коды клавиш. Так что в основном это ключевые сопоставления.

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