Улучшенный терминал в Mac OS X - изменение управляющих и командных клавиш-сопоставлений

Я пытаюсь использовать тот же KDE Konsole в Mac OS X.

Здесь моя (слишком сложная?) настройка:

  • У меня есть Control и Command, замененный на уровне системных настроек. (Не могу жить без этого)
  • Parallels позволяет вам, на уровне приложений Parallels, также отменить управление и команду. Поэтому я могу отменить настройку "Системные настройки" (и получить нужную настройку в виртуальном Linux).

Я хочу, чтобы это приложение было отключено для приложения Mac OS X Terminal. Возможно ли это?

Ответ 1

Решение, которое вы ищете, KeyRemap4MacBook. Существует версия Tiger, Leopard, Snow Leopard и Lion.

После установки goo Системные настройки KeyRemap4MacBook

Затем выберите следующие параметры:

  • Изменить Command_L Key (левая команда)
  • --- > Command_L для Control_L (кроме терминала, виртуальной машины, RDC)
  • Изменить Control_L-ключ (левый элемент управления)
  • --- > Control_L в Command_L (кроме терминала, виртуальной машины, RDC)

Вы можете повторить это для Command_R (Right Command) и Control_R (Right Control) также, если хотите. Протестировано и работает на моем Macbook.

Ответ 2

Вы можете просто ssh в систему Linux/Unix и запускать программы X11 прямо на ваш экран Mac: ssh -X [email protected]_or_ipaddress, войти в систему и просто запустить программы X11, которые вы хотите (например, emacs&) и приложения X11 появятся на дисплее Mac.

Плюсы:

  • Окна X11 работают так же, как и любое другое окно, включая доброту Exposé и т.д.
  • Не нужно работать только внутри окна консоли Parallels.
  • Такое же решение работает с любой системой Linux/Unix, удаленной или виртуальной
  • Соединение ssh безопасно даже через Интернет.

Техническая информация:

  • "ssh -X" включает пересылку X11 для ssh-соединения, то есть соединение с дисплеем X11 туннелируется через ssh безопасно
  • "ssh -X" также обрабатывает туннелирование аутентификации X11
  • X11.app автоматически запускается в OSX launchd при необходимости
  • X11 может подключаться к дисплеям по сети, что является одной из немногих интересных вещей об этом; -)

Ответ 3

Существует очень хороший гибкий терминал для отображения ключей: iTerm2

Мой любимый набор: iTerm + zsh + oh-my-zsh

Ответ 4

Решение 2016 - использовать Karabiner программу с открытым исходным кодом, которая позволяет вам модифицировать модификатор и другие ключи с помощью мелкая гранулярность, например

  • Удалите только левую ⌘ Cmd или Option.
  • Переключить ключ только для определенных приложений, например. только внутри терминала, Emacs или виртуальной машины.

Например, здесь, как переназначить левую клавишу ⌘ Cmd, чтобы действовать как Ctrl только внутри терминала (и оставить правой, не затронутой, чтобы вы могли использовать, например, ⌘ Cmd + Tab для переключения между приложениями):

karabiner-screenshot

Ответ 5

Вы можете настроить командные клавиши, используемые для отдельного приложения в "Системные настройки" > "Клавиатура и мышь" > "Ярлыки клавиш". Я думаю (если я правильно понимаю, что вы пытаетесь сделать), это может позволить вам достичь своей цели. Вы можете переназначить все ключи терминала, чтобы использовать управление вместо команды, чтобы избавить их от своего пути... но тогда вам, возможно, придется выполнить большую настройку на машинах, в которых вы работаете, чтобы они использовали команду вместо контроль

Кажется, что вам нужно будет сделать ENORMOUS объем работы, чтобы вы могли использовать свой мизинец вместо большого пальца для ключа-модификатора.

Другая возможность: пользовательские настройки могут управляться командой "defaults". Я не смог найти способ использовать это, чтобы контролировать сопоставления ключей модификатора, но он должен логически быть возможным (если вы готовы много копать). Если это так, тогда вы можете писать короткие сценарии для переключения между Mac по умолчанию и вашим обменным режимом. Запускайте скрипты с помощью Quicksilver, и всякий раз, когда вы используете терминал, вы можете вызвать один script, и всякий раз, когда вы его оставляете, вы можете позвонить другому. Опять же, большая боль для достижения того, чего вы хотите, но это возможно.

Я не думаю, что там чистое и простое решение.

Я видел сторонние программы, которые дают больше контроля над манипулированием ключами-модификаторами, если вы захотите их установить (возможно, расширения ядра). Они могут делать то, что вы хотите, но я не помню имена. Если вы используете Google для исправления ключей emacs и vi, вы можете найти их.

Удачи.

Ответ 6

У меня была такая же проблема, как и вы. Я переназначил Command для CAPS Lock и Control to Command, но, как частый пользователь Linux, я хочу, чтобы обе настройки были как можно более похожими. Вот как я это решил:

  • Установите Keyboard Maestro (не бесплатно, но полностью стоит) и настройте его для входа в систему.
  • Внутри KM определите макросы для отправки CMD + {key} в CTRL + {key} внутри терминала.

Если вы хотите переназначить много ключей, это много работы. Но я уже сделал это сам, вы можете просто загрузить этот файл kmmacros. Для его установки достаточно двойного щелчка. Несколько предостережений:

  • Вам нужно установить Terminal для использования опции в качестве мета-ключа (Terminal > Preferences > Keyboard).
  • Связывание выполняется только для режима emacs. Этот файл должен быть полезен.
  • Большинство ярлыков по умолчанию больше не работают (CMD-N, CMD-C,...), а меню в Terminal не отражает это. Для некоторых конфликтов (New Window, Close Window) я взял их из Gnome.