2

Можно ли отобразить функциональные клавиши (F1-F12) на less с помощью lesskey?

Это не похоже на работу:

#command
F1    forw-line

1 ответ1

2

Исторически, терминалы используют экранированные последовательности для функциональных клавиш, клавиш курсора и многого другого. Средства termcap и terminfo помогают справляться с изменениями между терминалами.

Сначала вам нужно определить, что ваш терминал отправляет, когда вы нажимаете F1, в bash вы можете сделать:

printf "%q\n" " Ctrl V F1 "

Во второй паре кавычек вы нажимаете Ctrl+V, чтобы буквально обработать следующее нажатие клавиши (дословно), а затем F1. На моем терминале (rxvt) я вижу

$'\E[11~'

так что моя последовательность F1 - escape [ 11 ~ , поэтому в .lesskey должно идти

#command
\e[11~  forw-line

запустите lesskey для обновления, и теперь F1 вызовет эту команду.

infocmp - это еще один способ узнать, как настроен ваш терминал, например

infocmp -L1 rxvt | grep key_f1=

См. Ответ Стефана Чазела здесь, чтобы получить более подробную информацию об этом, хотя less использует readline , для настройки readline требуется аналогичное понимание.

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