Historicamente, os terminais usam seqüências de escape para teclas de funções, teclas de cursor e mais. As instalações termcap e terminfo ajudam a lidar com as variações entre os terminais.
Primeiro você precisa determinar o que seu terminal envia quando você aperta F1 , em bash você pode fazer:
printf "%q\n" " Ctrl V F1 "
Dentro do segundo par de aspas você digita Ctrl + V para fazer com que o próximo pressionamento de tecla seja tratado literalmente ( textual ), e então F1 . No meu terminal (rxvt) eu vejo
$'\E[11~'
então minha sequência F1 é escape [ 11 ~ , então em .lesskey deve ir
#command
\e[11~ forw-line
execute lesskey para atualizar, e agora F1 invocará esse comando.
infocmp é outra maneira de ver como seu terminal está configurado, por exemplo,
infocmp -L1 rxvt | grep key_f1=
Veja Stéphane Chazelas responda aqui para mais detalhes, embora less não use readline , configurando readline requer um entendimento similar.