2

Кто-нибудь знает, как связать функциональные клавиши в Zsh? Я хочу использовать функциональные клавиши в программах, работающих на моем терминале, а не привязывать их к какой-либо функции в zsh. Я пытался поместить bindkey "\e [OP" key_f1 в .zshrc, но у меня нет такого виджета `key_f1 ', когда я пытаюсь это сделать. Предложения?

1 ответ1

1

Чтобы явно назначить ключ себе, используйте

bindkey "\e[OP" self-insert

Чтобы освободить ключ, используйте

bindkey -r "\e[OP"

Чтобы получить символы для определенного ключа, вы можете просто использовать cat: Таким образом, cat Enter F1 выдает в моем терминале (URxVT) следующую строку: ^[OP . Это может варьироваться в зависимости от терминала, особенно для комбинаций, таких как Ctrl+

Но что касается вашей конкретной проблемы: я сомневаюсь, что zsh является причиной того, что функциональная клавиша не работает в вашей программе, потому что, когда программа работает, zsh не должна захватывать какие-либо ключи. Я думаю, что более вероятно, что сама программа не понимает символы, которые ей передает терминал . Таким образом, вы можете попробовать другой терминал (xterm работал в большинстве таких случаев для меня). Если это не удается, вам, вероятно, придется проверить раскладку клавиатуры X-сервера (~/.Xmodmap в Linux, я, к сожалению, не знаю, где настроить OSX ...)

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