2013-12-05 10:35:30 -05:00
|
|
|
exchange.vim
|
2013-12-05 10:29:17 -05:00
|
|
|
============
|
|
|
|
|
2013-12-05 12:51:05 -05:00
|
|
|
Easy text exchange operator for Vim.
|
2013-12-05 10:35:30 -05:00
|
|
|
|
|
|
|
Mappings
|
|
|
|
--------
|
|
|
|
|
|
|
|
`cx`
|
|
|
|
|
2013-12-09 13:44:57 -05:00
|
|
|
On the first use, define the first {motion} to exchange. On the second use,
|
|
|
|
define the second {motion} and perform the exchange.
|
2013-12-05 10:35:30 -05:00
|
|
|
|
2013-12-09 20:59:35 -05:00
|
|
|
`cxx`
|
|
|
|
|
|
|
|
Like `cx`, but use the current line.
|
|
|
|
|
2014-04-27 10:31:37 -04:00
|
|
|
`X`
|
|
|
|
|
|
|
|
Like `cx`, but for Visual mode.
|
|
|
|
|
2013-12-05 10:35:30 -05:00
|
|
|
`cxc`
|
|
|
|
|
|
|
|
Clear any {motion} pending for exchange.
|
|
|
|
|
2014-04-27 10:21:27 -04:00
|
|
|
### Some notes
|
2013-12-10 22:11:40 -05:00
|
|
|
|
|
|
|
* If you're using the same motion again (e.g. exchanging two words using
|
|
|
|
`cxiw`), you can use `.` the second time.
|
2014-04-27 10:21:27 -04:00
|
|
|
* If one region is fully contained within the other, it will replace the
|
|
|
|
containing region.
|
2013-12-10 22:11:40 -05:00
|
|
|
|
2013-12-05 10:35:30 -05:00
|
|
|
Example
|
|
|
|
-------
|
|
|
|
|
2013-12-09 13:44:57 -05:00
|
|
|
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.
|
2013-12-09 13:45:11 -05:00
|
|
|
|
2014-03-10 11:00:10 -04:00
|
|
|
More
|
|
|
|
----
|
|
|
|
|
|
|
|
Check out these other resources for more information:
|
|
|
|
|
|
|
|
* [Swapping two regions of text with exchange.vim][e65]
|
|
|
|
|
|
|
|
[e65]: http://vimcasts.org/episodes/swapping-two-regions-of-text-with-exchange-vim
|
|
|
|
|
2017-01-27 13:12:02 -05:00
|
|
|
Other text editors
|
|
|
|
------------------
|
|
|
|
|
|
|
|
Exchange.vim has been ported by third parties to work with Vim emulators in
|
|
|
|
other text editors.
|
|
|
|
|
|
|
|
* **Emacs**: [evil-exchange][emacs] by [Dewdrops][dd]
|
|
|
|
* **Atom**: [vim-mode-plus-exchange][atom] by [Dillon Kearns][dk]
|
|
|
|
|
|
|
|
[emacs]: https://melpa.org/#/evil-exchange
|
|
|
|
[atom]: https://atom.io/packages/vim-mode-plus-exchange
|
|
|
|
[dd]: https://github.com/Dewdrops
|
|
|
|
[dk]: https://github.com/dillonkearns
|
|
|
|
|
2013-12-22 10:32:42 -05:00
|
|
|
Troubleshooting
|
|
|
|
---------------
|
2013-12-21 23:23:06 -05:00
|
|
|
|
2013-12-22 10:32:42 -05:00
|
|
|
More details and troubleshooting can be found in the [Wiki][wiki].
|
2013-12-21 23:23:06 -05:00
|
|
|
|
2013-12-22 10:32:42 -05:00
|
|
|
[wiki]: https://github.com/tommcdo/vim-exchange/wiki
|
2013-12-21 23:23:06 -05:00
|
|
|
|
2013-12-09 13:45:11 -05:00
|
|
|
Installation
|
|
|
|
------------
|
|
|
|
|
|
|
|
If you don't have a preferred installation method, I recommend
|
|
|
|
installing [pathogen.vim](https://github.com/tpope/vim-pathogen), 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`.
|