J'écris un shell * nix, je veux soutenir la combinaison de touches de Ctrl - Entrez. Et la bibliothèque que j'utilise est GNU readline.comment lier Ctrl + Entrée lors de l'utilisation de la bibliothèque "readline"?
J'ai passé plusieurs heures dessus, mais je ne trouve pas le chemin.
Je peux lier Entrez avec succès, comme:
========= ~/.inputrc ===============
"\C-M": "sdf"
====================================
Lorsque je presse Entrez, J'ai reçu un "sdf", comme prévu.
Je peux aussi lier Esc, Entrez avec succès (note, voici série clé, pas la combinaison), comme:
========= ~/.inputrc === ============
"\e\C-M": "sdf"
=============================== =====
Lorsque j'ai appuyé sur Esc, puis sur Entrez, "sdf" a été répercuté comme prévu.
Cependant, la ligne suivante ne peut pas produire un valide Ctrl - Entrée combinaison:
========= ~/.inputrc ========== =====
"\C\C-M": "sdf"
====================================
Et, "\ C- \ CM" ne fonctionne pas aussi.
Voici deux questions liées:
How to bind Ctrl-Enter in fish?
Quelqu'un peut-il me aider?
La réponse à la deuxième question liée devrait vous indiquer que ce n'est pas vraiment possible. –
La différence entre Esc et Control est que 'Esc' peut être pressé et relâché avant la prochaine touche. '\ C-M' fonctionne parce que la plupart des terminaux génèrent ASCII 13 lorsque vous appuyez sur Entrée ou sur Ctrl-m. Vous devez maintenir la touche de contrôle enfoncée avec une autre touche pour qu'elle signifie n'importe quoi; qu'est-ce que cela signifierait de le maintenir deux fois? – chepner
"Qu'est-ce que cela signifierait de le maintenir deux fois?" – weiweishuo