Oui, vous pouvez utiliser la commande bind
bind '"\ey"':"\"less \C-m\""
Cela mappe Alt-e à la commande less et l'exécute (avec le \ Cm aka Ctrl-m)
Probablement pour le | vous devez y échapper.
bind '"\ey"':"\"\|less \C-m\""
Si vous souhaitez simplement l'ajouter à la ligne de commande, supprimez le * \ Cm \ ""
Soyez prudent car certaines liaisons sont déjà définies:
Ctrl + A    Go to the beginning of the line you are currently typing on
Ctrl + E    Go to the end of the line you are currently typing on
Ctrl + L                Clears the Screen, similar to the clear command
Ctrl + U    Clears the line before the cursor position. If you are at the end of the line, clears the entire line.
Ctrl + H    Same as backspace
Ctrl + R    Let’s you search through previously used commands
Ctrl + C    Kill whatever you are running
Ctrl + D    Exit the current shell
Ctrl + Z    Puts whatever you are running into a suspended background process. fg restores it.
Ctrl + W    Delete the word before the cursor
Ctrl + K    Clear the line after the cursor
Ctrl + T    Swap the last two characters before the cursor
Esc + T     Swap the last two words before the cursor
Alt + F     Move cursor forward one word on the current line
Alt + B     Move cursor backward one word on the current line
Tab     Auto-complete files and folder names
La touche Contrôle, comme vous pouvez le voir ci-dessus, est faite avec Cm, vous pouvez donc démarrer la commande less avec Ctrl-g, comme suit:
bind '"\ Cg"': "\" \ | less * \ Cm \ ""
Pour obtenir les codes clés de l'Alt (uniquement pour l'ALT), vous pouvez utiliser la commande read du shell:
@~$ read
^[y
^ [y est égal à \ ey
Pour plus d'informations, cette question a également été répondue dans stackoverflow:
/programming/4119991/bash-call-script-with-customized-keyboard-shortcuts