2010-06-11 11 views
8

Je ne suis même pas sûr qu'il s'agisse d'une commande précédente ou d'une commande non terminée ou autre chose, mais je sais que je ne l'aime vraiment pas. Mon problème est que certaines commandes (ou messages, ou autre) sont bloquées dans le mini-buffer de sorte que lorsque je tape une nouvelle commande, il y apparaît très rapidement, puis le mini-buffer retourne à la commande têtue . Certaines commandes semblent être choisies, et après avoir utilisé beaucoup de commandes, quelque chose d'autre reste coincé, mais il y a toujours quelque chose que je ne veux pas voir. J'ai essayé de taper C-g plusieurs fois pour voir si ça s'arrêterait, mais ça ne marche pas.Comment puis-je empêcher le mini-tampon d'afficher les commandes précédentes dans Emacs?

C'est une image de ce que j'ai maintenant:

alt text

Peu importe ce que je fais, que peu

Label: hl en ligne

ne partira pas. Il part momentanément quand une nouvelle commande est tapée, mais elle revient en arrière. Je ne l'aime pas, c'est déroutant, et je préférerais voir là la dernière commande utilisée.

J'ai vérifié les options de personnalisation pour le mini-tampon (la partie inférieure de celui-ci peut être vu dans ma photo), mais je n'ai rien trouvé qui semblait être ce que je cherchais.

Des idées?

+2

Vous êtes en (deux niveaux) d'édition récursive, comme le montre le [[..]] autour des parenthèses entourant les noms de mode. Vous pouvez abandonner l'édition récursive en utilisant 'C-]'. Voir http://www.cs.cmu.edu/cgi-bin/info2www?(emacs)Recursive%20Edit pour plus d'informations. –

Répondre

10

Le mini-tampon a perdu le focus. Essayez C-x o (Ctrl + x o) pour retrouver le focus. Pour annuler la commande, appuyez sur C-g lorsque vous avez sélectionné dans le mini-tampon.

+0

Oh, c'était comme une commande inachevée? J'ai fait le C-x o et j'ai dû finir tout ce flot de commandes (pour insérer un environnement en latex, mettre une étiquette, une position, etc.) pour que la chose disparaisse. Merci pour cela! – Vivi

14

Il y a des chances que vous vous retrouviez dans la situation parce que vous avez lancé une commande et utilisé votre souris pour sélectionner quelque chose dans une fenêtre différente. Si c'est le cas, vous pouvez demander à Emacs d'annuler automatiquement la commande lorsque vous effectuez une telle action.

C'est le code que vous souhaitez ajouter à votre .emacs:

(defun stop-using-minibuffer() 
    "kill the minibuffer" 
    (when (and (>= (recursion-depth) 1) (active-minibuffer-window)) 
    (abort-recursive-edit))) 

(add-hook 'mouse-leave-buffer-hook 'stop-using-minibuffer) 

Note: Je saisis cela de mon blog post on the topic.

Et il ya aussi une question de super utilisateur qui résout ce problème, et ma réponse là fournit une commande à jump back to the minibuffer.

+0

Tout à fait possible je l'ai fait ... J'essaie cependant de ne pas utiliser la souris, donc j'espère que cette commande sera redondante bientôt. Est-ce que cela arrive quand j'utilise aussi ** C-x b **? Par ailleurs, je préfère le code que vous mettez sur la réponse à une question de super-utilisateur et lié dans un commentaire à votre article de blog :) (celui qui donne une touche de raccourci pour aller à la fenêtre active du mini-tampon) – Vivi

+0

@Vivi Ahhh .. à droite la réponse SU. Je ne suis pas si heureux comment SO et SU divisent les questions d'Emacs. Je vais relier celui-là aussi dans cette réponse. –

+1

Cela peut se produire si vous lancez une commande et obtenez une condition d'erreur. L'astuce pour obtenir le focus dans le mini-tampon, puis Ctrl-G pour annuler le corriger. –