I'm using gdb-many-windows, which contains five windows to switch between. Is there a shortcut I can use to get to a specific window?
5 Answers
You probably already know that C-x o gets you to the next window.  You can extend this to go to any arbitrary window with C-u <windowoffset> C-x o.
So, you can use C-u 2 C-x o to switch to the second window ahead of your current one. 
This wraps around the window list (so in your case of 5 windows you could do C-u 4 c-x o to go back one.
You can also use negative numbers as well to go backwards.
Lastly, it takes a bit more setup, but Thomas's suggestion to use WindMove is very useful. It wasn't configured by default for me to any useful key binding. I add the following snippet to my (mac) .emacs file, whch lets me switch windows via control-arrow (you will need to reload .emacs by starting up or via 'M-x load-file')
(global-set-key (kbd "M-[ 5 d") 'windmove-left)
(global-set-key (kbd "M-[ 5 c") 'windmove-right)
(global-set-key (kbd "M-[ 5 a") 'windmove-up)
(global-set-key (kbd "M-[ 5 b") 'windmove-down)
- 17,737
 - 5
 - 33
 - 45
 
Some people find WindMove more convenient than C-x o. It allows you to navigate between windows using Shift + arrow keys.
- 17,016
 - 4
 - 46
 - 70
 
- 
                    Does Terminal 2.2.1 not support modified arrow keys? – Rose Perrone Feb 05 '12 at 05:39
 - 
                    I don't use Macs, but you could try to type "CTRL-v right-arrow" and "CTRL-v Shift-right-arrow" in bash and see if it produces different escape sequences. If not, you could still use WindMove by binding the respective functions to different keyboard shortcuts, of course. – Thomas Feb 06 '12 at 01:26
 
Possibly useful links:
http://www.emacswiki.org/emacs/WindowNumberingMode
http://www.emacswiki.org/emacs/NumberedWindows
Edit: If you decide to use WindowNumberingMode (that's what I use) you might find it useful to pin buffers to windows (so, for instance, Meta-1 switches to the buffer you expect it to switch to, not just the first window). One way of pinning is described in Pin Emacs buffers to windows (for cscope).
- 1
 - 1
 
- 2,989
 - 2
 - 22
 - 33
 
Window switching is so important in emacs, I have these settings.(Still feel these are not good enough).. may help someone else..
(global-set-key "\M-t" 'other-window)   ;; was transpose words
(global-set-key (kbd "C-x O") (lambda () (interactive) (other-window -1))) ;; back one
(global-set-key (kbd "C-x C-o") (lambda () (interactive) (other-window 2))) ;; forward t
- 5,817
 - 3
 - 25
 - 32
 
I use switch-window.el. You can choose a window by visual way with 'switch-window'.
- 2,293
 - 17
 - 16