Fork me on GitHub

So <e and >e (from tpope/vim-sexp-mappings-for-regular-people) are super useful for moving elements around. Is there something similar for rearranging map items (key with its value) simultaneously? I.e. move elements around, two at a time

👀 1

nmap >p 3>e3B3>e
  nmap <p 2<e4E2<e
it is a hack - move each element of *p*air one at a time does not work if you try to move on the edge of the form

❤️ 1

that's pretty cool!


turns out that sexp supports moving around visually selected pairs. I've created a PR for missing mapping . If you have the mapping from the PR than swapping pairs is

nmap >p vaeE>eo<Esc>
nmap <p vaeE<eo<Esc>
selects around current element, moves to the next, visually swaps, moves cursor to the beginning of selection and exists visual mode

parrot 1

this way it works on the edges of a form


I use the visual selection approach too.


I have < and > vmaped; will test with those mappings removed 👍


Hmmm... I don't seem to have such visual mode mappings by default, but this seems to do the trick 🎉:

vmap <e <Plug>(sexp_swap_element_backward)
vmap >e <Plug>(sexp_swap_element_forward)