Swap windows without ruining your layout!
Vim's window movement commands work fine when you only have a few splits open or want to push a window over to an edge. But what happens when you have a complicated layout and you just want to swap a couple arbitrary windows?
When I was just getting started with Vim, I asked about this problem on StackOverflow and I've received a handful of responses over the years. Almost a year after after I asked, sgriffin came through with a solution. Now that I'm a little less of a newbie, I've put his idea in a handy plugin.
- Navigate to the window you'd like to move
- Navigate to the window you'd like to swap with
- Yank and paste a window with
<leader>ww(for me that's
- [y]ank a [w]indow with
- [p]aste that [w]indow with
These mappings are deprecated. See below for instructions on how to keep them working once they are removed from the default list.
Customize the commands to your liking by dropping this in your
.vimrc and changing the mappings:
let g:windowswap_map_keys = 0 "prevent default bindings nnoremap <silent> <leader>yw :call WindowSwap#MarkWindowSwap()<CR> nnoremap <silent> <leader>pw :call WindowSwap#DoWindowSwap()<CR> nnoremap <silent> <leader>ww :call WindowSwap#EasyWindowSwap()<CR>
This plugin follows the standard runtime path structure, and as such it can be installed with a variety of plugin managers: