*unimpaired.txt* Pairs of handy bracket mappings Author: Tim Pope License: Same terms as Vim itself (see |license|) This plugin is only available if 'compatible' is not set. INTRODUCTION *unimpaired* This plugin provides several pairs of bracket maps. NEXT AND PREVIOUS *unimpaired-next* The following maps all correspond to normal mode commands. If a count is given, it becomes an argument to the command. A mnemonic for the "a" commands is "args" and for the "q" commands is "quickfix". *[a* |:previous| *]a* |:next| *[A* |:first| *]A* |:last| *[b* |:bprevious| *]b* |:bnext| *[B* |:bfirst| *]B* |:blast| *[l* |:lprevious| *]l* |:lnext| *[L* |:lfirst| *]L* |:llast| *[* |:lpfile| *]* |:lnfile| *[q* |:cprevious| *]q* |:cnext| *[Q* |:cfirst| *]Q* |:clast| *[* |:cpfile| (Note that only works in a terminal if you disable *]* |:cnfile| flow control: stty -ixon) *[t* |:tprevious| *]t* |:tnext| *[T* |:tfirst| *]T* |:tlast| *[f* [f Go to the file preceding the current one alphabetically in the current file's directory. *]f* ]f Go to the file succeeding the current one alphabetically in the current file's directory. *[n* [n Go to the previous SCM conflict marker or diff/patch hunk. Try d[n inside a conflict. *]n* ]n Go to the next SCM conflict marker or diff/patch hunk. Try d]n inside a conflict. LINE OPERATIONS *unimpaired-lines* *[* [ Add [count] blank lines above the cursor. *]* ] Add [count] blank lines below the cursor. *[e* *v_[e* [e Exchange the current line with [count] lines above it. *]e* *v_]e* ]e Exchange the current line with [count] lines below it. OPTION TOGGLING *unimpaired-toggling* On Off Toggle Option *[ob* *]ob* *cob* 'background' (dark is off, light is on) *[oc* *]oc* *coc* 'cursorline' *[od* *]od* *cod* 'diff' (actually |:diffthis| / |:diffoff|) *[oh* *]oh* *coh* 'hlsearch' *[oi* *]oi* *coi* 'ignorecase' *[ol* *]ol* *col* 'list' *[on* *]on* *con* 'number' *[or* *]or* *cor* 'relativenumber' *[os* *]os* *cos* 'spell' *[ou* *]ou* *cou* 'cursorcolumn' *[ov* *]ov* *cov* 'virtualedit' *[ow* *]ow* *cow* 'wrap' *[ox* *]ox* *cox* 'cursorline' 'cursorcolumn' (x as in crosshairs) PASTING *unimpaired-pasting* These are experimental: *>p* Paste after linewise, increasing indent. *>P* Paste before linewise, increasing indent. * => <foo bar="baz"> {Visual}[x *]x* *]xx* *v_]x* ]x{motion} XML decode. HTML entities are handled as well. ]xx {Visual}]x *[u* *[uu* *v_[u* [u{motion} URL encode. [uu foo bar => foo%20bar {Visual}[u *]u* *]uu* *v_]u* ]u{motion} URL decode. ]uu {Visual}]u *[y* *[yy* *v_[y* [y{motion} C String encode. Backslash escape control [yy characters, quotation marks, and backslashes. {Visual}[y *]y* *]yy* *v_]y* ]y{motion} C String decode. ]yy {Visual}]y TODO *unimpaired-todo* Avoid munging null characters when encoding and decoding. vim:tw=78:et:ft=help:norl: