Comment afficher immédiatement les frappes dans la zone d'écho?

9

Comment afficher immédiatement les frappes dans la zone d'écho?

Par exemple: lorsque j'entre la séquence de touches C-u j, elle ne s'affiche pas immédiatement dans la zone d'écho, mais j'appuie ensuite sur la touche ket je découvre que je faisais une faute de frappe au préalable. Donc, je pense qu'il sera utile pour un débutant comme moi lorsque j'appuie sur certaines touches d'appeler une commande pour la zone d'écho pour les montrer immédiatement.

Jimmy
la source

Réponses:

13

Vous cherchez à ajuster la valeur de la variable echo-keystrokes.

Vous pouvez lire sa docstring en entrant C-h v echo-keystrokes(ou M-x describe-variable echo-keystrokes):

Documentation:

Non nul signifie écho des commandes inachevées après ces nombreuses secondes de pause. La valeur peut être un entier ou une virgule flottante. Si la valeur est zéro, ne faites aucun écho.

Notez que vous ne pouvez pas définir la valeur sur 0 et la faire résonner instantanément, mais vous pouvez la définir sur un nombre arbitrairement petit, qui semblera instantané. Vous pouvez donc mettre quelque chose comme ceci dans votre fichier init:

(setq echo-keystrokes .1)
Dan
la source
6
Il s'avère que vous pouvez également le définir sur une valeur négative pour un affichage immédiat (setq echo-keystrokes -1).
JeanPierre
1
@JeanPierre: Neat! Je ne m'en rendais pas compte! Il semble que cela devrait être dans la documentation.
Dan
2
@JeanPierre - (setq echo-keystrokes -1)n'a pas l'effet que vous avez décrit dans Emacs 25 build --with-ns. Au lieu de cela, il a le même effet qu'une valeur de 0- c'est-à-dire, ne fait pas écho du tout. [Il s'agit de GNU Emacs 25.1.1 (x86_64-apple-darwin10.8.0, NS appkit-1038.36 version 10.6.8 (Build 10K549)) du 2016-09-17.] J'ai également testé une build de la branche principale plus tôt cette année et a eu les mêmes résultats. echo_keystrokes_p (void) {return (FLOATP (Vecho_keystrokes) ? XFLOAT_DATA (Vecho_keystrokes) > 0.0 : INTEGERP (Vecho_keystrokes) ? XINT (Vecho_keystrokes) > 0 : false);}
lawlist
@lawlist Oh, vous avez raison, j'ai été bâclé, ça ne marche pas pour moi GNU Emacs 25.1.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.1) of 2016-10-24, modified by Debianmais ça marche avec GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, GTK+ Version 3.18.9) of 2016-04-08 on binet, modified by Debian.
JeanPierre