I often work with Tmux and I really like the ability to have multiple windows where each window has a custom set of panes. This allows me to quickly switch between layouts without losing anything.

So far in Emacs I know how to navigate buffers, switch from one buffer to another, close a buffer, open a new buffer, split the window and access a list of buffers. What I haven't been able to do is to have multiple custom setups and be able to quickly switch between them. Like so:

enter image description here

How would one go about achieving this?


This can be done very easily if you are using ivy. All you got to do is execute the command ivy-push-view when are on a window setup you like and give it a specific name (by default the name of the ivy-view goes like {} buffer1 buffer2).

Once you've pushed a window config you like to ivy-views, you can then change from any window configuration to the one you saved before using switch-to-buffer and selecting the view you pushed before and the whole window configuration will be restored :)

It's incredibly simple and so damn useful. Also, if you're using desktop-save-mode you can also chose to save ivy-views in it so that everytime you restore the desktop save file, you restore ivy-views as well.

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