This is a vim 9 fork of tpope/vim-unimpaired.
Much of unimpaired.vim was extracted from my vimrc when I noticed a pattern: complementary pairs of mappings. They mostly fall into four 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 toggling options. [os
, ]os
, and yos
perform
:set spell
, :set nospell
, and :set invspell
, respectively. There's also
l
(list
), n
(number
), w
(wrap
), x
(cursorline cursorcolumn
), and
several others, plus mappings to help alleviate the set paste
dance. Consult
the documentation.
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.
And in the miscellaneous category, there's [f
and ]f
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.
Install using your favorite package manager, or use Vim's built-in package support:
mkdir -p ~/.vim/pack/tpope/start
cd ~/.vim/pack/tpope/start
git clone https://tpope.io/vim/unimpaired.git
vim -u NONE -c "helptags unimpaired/doc" -c q
My non-US keyboard makes it hard to type
[
and]
. Can I configure different prefix characters?
The easiest solution is to map to [
and ]
directly:
nmap < [
nmap > ]
omap < [
omap > ]
xmap < [
xmap > ]
Note we're not using the noremap
family because we do want to recursively
invoke unimpaired.vim's maps.
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
.