Go to file
Tom McDonald 72d9f0a3cf Add "expand" functionality
When one exchange region is completely contained within another,
replace the larger one with the smaller one.

The term "expand" may seem counter-intuitive, as the result is less
text, but think of it this way: the smaller region is "expanding"
to occupy the space previously defined by the larger region.
2014-04-27 10:28:16 -04:00
doc Add "expand" functionality 2014-04-27 10:28:16 -04:00
plugin Add "expand" functionality 2014-04-27 10:28:16 -04:00
.gitignore Add :help page 2013-12-07 12:57:19 -05:00
README.md Add "expand" functionality 2014-04-27 10:28:16 -04:00

exchange.vim

Easy text exchange operator for Vim.

Mappings

cx

On the first use, define the first {motion} to exchange. On the second use, define the second {motion} and perform the exchange.

cxx

Like cx, but use the current line.

cxc

Clear any {motion} pending for exchange.

Some notes

  • X can be used from visual mode, which is sometimes easier than coming up with the right {motion}
  • If you're using the same motion again (e.g. exchanging two words using cxiw), you can use . the second time.
  • If one region is fully contained within the other, it will replace the containing region.

Example

To exchange two words, place your cursor on the first word and type cxiw. Then move to the second word and type cxiw again. Note: the {motion} used in the first and second use of cx don't have to be the same.

More

Check out these other resources for more information:

Troubleshooting

More details and troubleshooting can be found in the Wiki.

Installation

If you don't have a preferred installation method, I recommend installing pathogen.vim, and then simply copy and paste:

cd ~/.vim/bundle
git clone git://github.com/tommcdo/vim-exchange.git

Once help tags have been generated, you can view the manual with :help exchange.