Я думаю, вы можете, если вы подключены к хосту, который напрямую подключен к коммутатору, выполните:
ping -b <yourBroadcastAddress>
Скорее всего, ответит только коммутатор, поскольку он, скорее всего, в зависимости от марки коммутатора и конфигурации заблокирует пересылку широковещательного эхо-запроса.
Если я правильно понял ваш вопрос:
bind '"^[f": kill-word'
Определит Option+F
для вызоваkill-word
Полезность будет:
showkey (1) - examine the codes sent by the keyboard
но этого, кажется, не хватает на mac -os... вот это "Коды ключей"...?
Или вы набираете ctrl -V (qouted вставка ), а затем какую-то специальную клавишу. В bash это печатает ^[OP
в xterm и ^[[[A
в консоли для клавиши F1.
Переменная readline:
keyseq-timeout (500)
— тайм-аут, используемый для половинной -законченной последовательности.
Под этим должен быть своего рода файл раскладки, в котором клавиши преобразуются в символы. Это из /usr/share/kbd/keymaps/mac/
на Linux:
keycode 51 = Delete Remove
alt keycode 51 = Meta_Delete
shift alt keycode 51 = Meta_Delete
control keycode 51 = Remove
keycode 53 = Escape
alt keycode 53 = Meta_Escape
shift alt keycode 53 = Meta_Escape
keycode 54 = Control
keycode 55 = Alt # Command/Apple key
keycode 56 = Shift
keycode 57 = Caps_Lock
keycode 58 = AltGr # Alt/Option key
Вы видите гибкость! Мета-символ -Удалить может стать словом kill -...
bind '"^[f": kill-word
Это ^[
должно быть \e
или ctrl -V, затем Escape :один байт, а не циркумфлекс плюс квадратная скобка.
Это все равно, что сказать :^C означает управление -C, а не Shift -6, а затем Shift -c... в оболочке (bash )или в vim когда я набираю ctrl -v, а затем Esc, я получаю ^[
, но это всего лишь один символ, когда вы отступаете на него. Вместе с этими опциями мета-флагов -в readline это может усложниться... Я просто иллюстрирую всю цепочку:
раскладка "default.map" (переводит скан-код и модификатор в символы клавиш)
keycode 105 = Left F150 F151
string F150 = "\033[150"
string F151 = "\033[151"
keycode 106 = Right F154 F155
string F154 = "\033[154"
string F155 = "\033[155"
F150 и F151 после дефолтного "Влево" означают сдвиг -и управление -стрелкой влево -. На втором этапе вы можете определить строку, в данном случае управляющую последовательность. Здесь \e
не работает, но восьмеричное 033 — это ascii 27 — это управление -[ — это Escape... эта раскладка клавиш специфична для Linux, но X Windows имеет аналогичную логику.
И в.inputrc:
"\e[150": backward-word
"\e[151": shell-backward-word
"\e[154": forward-word
"\e[155": shell-forward-word
Это очень хорошо работает в консоли Linux. В xterm под X Windows (Xorg ):вообще нет :Xorg сам сканирует ключи.
backward-word can be invoked via "\e[150", "\e[1;2D", "\e[1;3D", "\eb".
Двое посередине с точкой с запятой — это модифицированные стрелки влево в стиле VTxxx. Это было предварительно настроено, а также автоматически привязывается к backward-word
.
Я не думаю, что вы делаете что-то не так, вам просто нужно указать Terminal.app использовать вместо этого клавишу «Option» в качестве «Meta». Просто перейдите в настройки Терминала(⌘ + , ), затем Профили , затем вкладку Клавиатура для профиля по умолчанию и установите флажок «Использовать Вариант в качестве мета-ключа».
В противном случае вы получаете поведение macOS по умолчанию (в большинстве раскладок клавиш ), где Option + key создает специальные символы, точно так же, как Option + f дает строчная буква "f" с крючком с вашего скриншота (полная ссылка здесь).
В iTerm 2 , я считаю, что левая клавиша Option уже по умолчанию делает разумную вещь, но на всякий случай, вот как это изменить:
Что касается переназначения Option на Escape, если это то, что вы все еще хотите сделать, это можно сделать из предварительной панели «Клавиатура» в «Системных настройках», нажав кнопку «Клавиши-модификаторы…» в нижней части окна.
Затем переназначьте его на что угодно (из доступных вариантов):
Я открыл эту панель настроек примерно в первые пять минут использования нового Mac, просто чтобы переназначить Caps Lock на Control, поскольку клавиша Control на клавиатуре Mac находится в неудобном месте.