unimpaired.vim: pairs of handy bracket mappings
Vim script
Switch branches/tags
Nothing to show
Pull request Compare This branch is 1 commit ahead, 51 commits behind tpope:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Much of unimpaired.vim was extracted from my vimrc when I noticed a pattern: complementary pairs of mappings. They mostly fall into three categories.

There are mappings which are simply short normal mode aliases for commonly used ex commands. ]q is :cnext. [q is :cprevious. ]a is :next. [b is :bprevious. See the documentation for the full set of 20 mappings and mnemonics. All of them take a count.

There are linewise mappings. [<Space> and ]<Space> add newlines before and after the cursor line. [e and ]e exchange the current line with the one above or below it.

There are mappings for encoding and decoding. [x and ]x encode and decode XML (and HTML). [u and ]u encode and decode URLs. [y and ]y do C String style escaping. [Y and ]Y encode and decode Base64.

And in the miscellaneous category, there's [o and ]o to go to the next/previous file in the directory, and [n and ]n to jump between SCM conflict markers.

The . command works with all operator mappings, and will work with the linewise mappings as well if you install repeat.vim.


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/tpope/vim-unimpaired.git

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


See the contribution guidelines for pathogen.vim.


Like unimpaired.vim? Follow the repository on GitHub and vote for it on vim.org. And if you're feeling especially charitable, follow tpope on Twitter and GitHub.


Copyright (c) Tim Pope. Distributed under the same terms as Vim itself. See :help license.