Ace-window is a emacs package that makes it easy to jump between “windows” in Emacs, just like ace-jump is a emacs package that makes it easy to jump in a document. Below is my config, it is set up to always listen no matter how few windows, and to use M-o as keybinding.
(use-package ace-window :ensure t :init (setq aw-dispatch-always t) :config (global-set-key (kbd "M-o") 'ace-window))
These are all the default commands and keybindings, the way it works is that you press M-o, then a number will be shown in each “window”, if you press it focus will be moved to it. And if you for example press x before the number it will instead delete that window.
- x - delete window
- m - swap windows
- M - move window
- c - copy window
- j - select buffer
- n - select the previous window
- u - select buffer in the other window
- c - split window fairly, either vertically or horizontally
- v - split window vertically
- b - split window horizontally
- o - maximize current window
- ? - show these command bindings