Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In emacs, sometimes I will be in the middle of finding a file or switching buffers or doing something in the minibuffer, and I will click somewhere else for some reason. When I go back, the only way to make the minibuffer prompt active again is to click inside the minibuffer, which is annoying because it is a thin area. Is there any way to switch back to an active minibuffer prompt without using the mouse?

share|improve this question
1  
+1 I had the same question. –  Geoff Mar 3 '12 at 22:11

3 Answers 3

up vote 16 down vote accepted

This will do what you want. Bind to the key of your choice:

(defun switch-to-minibuffer-window ()
  "switch to minibuffer window (if active)"
  (interactive)
  (when (active-minibuffer-window)
    (select-window (active-minibuffer-window))))
(global-set-key (kbd "<f7>") 'switch-to-minibuffer-window)
share|improve this answer
C-x o 

Repeat as necessary.

C-x o runs the command other-window, which is an interactive built-in function in `C source code'.

If you do not want to cycle through windows, you can add a function in your init file and bind it to a key. Something like this might work:

(defun select-minibuffer ()
 "Make the active minibuffer the selected window."
 (interactive)
 (when (active-minibuffer-window)
   (select-window (active-minibuffer-window))))
share|improve this answer
    
Why would you want to include RET like that? It would automatically accept whatever was in the minibuffer (assuming a single C-x o switched to the minibuffer). Generally, one may need to use C-x o multiple times if there are (in Emacs parlance) multiple windows open in the frame (in normal GUI terms: multiple panes in the window). –  Chris Johnsen Apr 18 '10 at 19:39
    
You're right. My bad. –  Richard Hoskins Apr 18 '10 at 20:10
    
Is there any way to get directly to the minibuffer without potentially cycling through all windows? Should I just write a loop that does other-window until current window is minibuffer? –  Ryan Thompson Apr 18 '10 at 21:29

Another option is using switch-window

I find it to be a really useful package: it allows you to quickly move to any Emacs window, visually (and I do use a lot of open windows in Emacs).

But I just find out it also allows you to move to the minibuffer, if it is active:

enter image description here

Hope it helps.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.