In der Vergangenheit verwenden Terminals Escape-Sequenzen für Funktionstasten, Cursortasten und mehr. Die Termcap- und Terminfo-Funktionen helfen dabei, die Unterschiede zwischen den Terminals zu bewältigen.
Zuerst müssen Sie feststellen, was Ihr Terminal sendet, wenn Sie einen Treffer treffen F1. bash
Sie haben folgende Möglichkeiten:
printf "%q\n" "
CtrlV F1"
Innerhalb des zweiten Anführungspaares geben Sie Ctrl+ ein V, um den nächsten Tastendruck wörtlich ( wörtlich ) zu behandeln, und dann F1. Auf meinem Terminal (rxvt) sehe ich
$'\E[11~'
also meine F1-Sequenz soll escape [ 11 ~
also in .lesskey
gehen
#command \e[11~ forw-line
lesskey
Zum Aktualisieren ausführen, und jetzt F1wird der Befehl aufgerufen.
infocmp
ist eine andere Möglichkeit, um zu sehen, wie Ihr Terminal eingerichtet ist, z
infocmp -L1 rxvt | grep key_f1=
Weitere Informationen hierzu finden Sie in der Antwort von Stéphane Chazelas, die zwar less
nicht verwendet wird readline
, aber die Konfiguration von readline erfordert ein ähnliches Verständnis.