Можно ли отобразить функциональные клавиши (F1-F12) на less
с помощью lesskey
?
Это не похоже на работу:
#command
F1 forw-line
Можно ли отобразить функциональные клавиши (F1-F12) на less
с помощью lesskey
?
Это не похоже на работу:
#command
F1 forw-line
Исторически, терминалы используют экранированные последовательности для функциональных клавиш, клавиш курсора и многого другого. Средства 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 требуется аналогичное понимание.