vim-exchange/README.md

76 lines
2.0 KiB
Markdown
Raw Normal View History

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.
2013-12-05 10:35:30 -05:00
`cxc`
Clear any {motion} pending for exchange.
2013-12-10 22:11:40 -05:00
### Notes about the mappings
* `cx` can also 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.
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.
Caveats
-------
### Visual mapping causes delay for change operator
As noted in [Issue #11][iss11], the visual mapping for `cx` can cause a delay
if you want to use `c` from visual mode. This is because Vim is waiting for a
delay (specified by `'timeoutlen'`) before using the `c` command instead of
using `cx`. For more details, see [:help 'timeoutlen'][timeoutlen].
There are two potential solutions for this.
#### Changing timeout length
Set `'timeoutlen'` to a smaller value so that the delay is less noticeable.
set timeoutlen=250
#### Changing default visual mapping
Change the default visual mapping to something that doesn't begin with `c` (or
any other existing operator).
vmap <Leader>cx <Plug>(Exchange)
[iss11]: https://github.com/tommcdo/vim-exchange/issues/11
[timeoutlen]: http://vimdoc.sourceforge.net/htmldoc/options.html#'timeoutlen'
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`.