Click on the heading to find all pages related to window management in Emacs.
Emacs Windows - Basics
Windows Navigation (Selection)
Move among windows – alternatives to ‘C-x o’ (‘other-window’).
- Use arrow keys to choose
- Use a window name or number to choose
- Use a transient keymap to move among windows
- WinSwitch – a dynamic, transient mode that enables easy, efficient navigation among windows (and frames)
‘M-x next-multiframe-window’ – similar to ‘other-window’ but cycles both through windows and frames.
Resizing, Splitting,... Windows
- move-border.el – Resize windows by moving their own border in a given direction
- DoReMi – Resize windows incrementally, using arrow keys or mouse wheel. Hold Meta key to boost resizing increment.
- HorizontalSplitting – Force Emacs to always use split-window-horizontally instead of split-window for temporary buffers, like C-x C-b and describe-function.
- OneWindow – Make Emacs always use only one window for whatever it does
- TransposeWindows – Rearrange windows within a Frame
- ToggleWindowSplit – Toggle between vertical and horizontal split
- TransposeFrame – Transpose windows arrangement in a Frame
- WidenWindow – Widen the active window
- WindowResize – Resize windows using simple keybindings
- ThreeWindows – Enjoy your work in three windows per Frame. One big and two small.
- QuickTiling – If you like xmonad, tmux etc., chances are you’ll this too.
- GridLayout – how to quickly split the frame into a grid
- PlaceWindows (place-windows.el) – place active windows according to number of rows, incrementally or with universal argument. Each row height is equal, each column height equal in current row.
Switching Window Configurations
See also:
Frame Configurations
To save the current configuration of frames and later restore it, use ‘C-x r f’ (‘frame-configuration-to-register’) and ‘C-x r j’ (‘jump-to-register’), respectively. See FramesAndRegisters.
See also:
- DoReMi – Commands to resize and move frames incrementally, using the arrow keys or mouse wheel.
- FrameModes#FrameCommands – Commands to manipulate frames:
- Iconify/hide all frames and restore them using
‘C-M-z’. - Resize and move frames incrementally, using the arrow keys.
- Tile all visible frames horizontally or vertically. Particularly useful before comparing buffers with Ediff.
- Shrink-Wrapping Frames – Commands to resize frames.