When I have four windows visible and I want to move from one to another, I use C-x o. But that cycles through the windows in a predetermined order, namely:

1 3

2 4

Without intending to do so, just because my brain and fingers go on auto-pilot, I've fallen into the weird habit of using a combination of C-x 0, C-x 1, C-x 2, C-x 3, and bury-buffer (which I've bound to C-x c) to select the buffer I want while keeping them in a chosen order.

Is there a more direct way for me to move from window 1, say, to window 4?

  • Sorry, to be clear, the predetermined order is NW, SW, NE, SE (as I'm sure you all know). – Ruby Aug 1 '16 at 19:32
  • Have a look at the built-in library windomove.el and see if you like some of the interactive functions: emacswiki.org/emacs/WindMove – lawlist Aug 1 '16 at 19:33
  • This has got to be a duplicate, but I don't have time to track down the duplicate(s). – Drew Aug 1 '16 at 22:08

You can achieve the behaviour you want using ace-window package. Calling ace-window (if you have just two windows open, will just switch to the other window) will highlight the first character of each window and pressing said character will switch you to that buffer. Here's a gif demonstrating how it works.

You can also use avy package to switch between open windows.

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