- BUG: gsp / gsP border check adds spaces on both sides when there's a single character in line (like when there's a completely empty line, where this would be correct). Differentiate between empty and single-char line and then clear the isAtStart / isAtEnd flag not in the direction of the paste.
- CHG: Change default mappings of gdp and gDp to gqbp and gQBp, respectively, to avoid slowing down the built-in |gd| and |gD| commands with a wait for the mapping timeout. Though the new defaults are one keystroke longer, they are a better mnemonic (combining gqp and gBp), and this is a rather obscure mapping, anyway.
- ENH: Extend CTRL-R insert mode mappings to command-line mode. - When doing gqp / q,p of a characterwise or single line, put the separator in front (gqp) / after (gqP); otherwise, the mapping is identical to normal p / P and therefore worthless. - Add g#p mapping to apply 'commentstring' to each indented linewise paste. - Add gsp mapping to paste with [count] spaces / empty lines around the register contents. - Add gdp / gDp mappings to paste as a minimal fitting block with (queried / recalled) separator string, with special cases at the end of leading indent and at the end of the line. - Add gBp mapping to paste as a minimal fitting block with jagged right edge, a separator-less variant of gDp. - Add g>p mapping to paste shifted register contents. - Add g]]p and g[[p mappings to paste like with g]p, but with more / less indent.
- ENH: gpp also handles multi-line pastes. A number (after the corresponding column) is incremented in every line. If there are no increments this way, fall back to replacement of the first occurrence. - ENH: Add gPp / gPP mappings to paste with all numbers incremented / decremented. - ENH: Add g]p / g]P mappings to paste linewise with adjusted indent. Thanks to Gary Fixler for the suggestion.
- ENH: Add gpp / gpP mappings to paste with one number (which depending on the current cursor position) incremented / decremented. - FIX: For characterwise pastes with a [count], the multiplied pastes must be joined with the desired separator, not just plainly concatenated. - FIX: Don't lose the original [count] given when repeating the mapping. - FIX: Do not re-query on repeat of the mapping.
- ENH: Add g,p / gqp / gQp mappings to paste lines flattened with comma, queried, or recalled last used delimiter. - ENH: Add gup / gUp mappings to paste unjoined register with queried or recalled last used delimiter pattern. - ENH: Add CTRL-R CTRL-C mapping to insert register contents characterwise (flattened) from insert mode, and similar insert mode mappings for the other new mappings. - CHG: Flatten all whitespace and newlines before, after, and around lines when pasting characterwise or joined.
- BUG: When repeat.vim is not installed, the mappings do nothing. Need to :execute the :silent! call of repeat.vim to avoid that the remainder of the command line is aborted together with the call. - Using separate autoload script to help speed up Vim startup.
- ENH: When pasting a blockwise register as lines, strip all trailing whitespace. This is useful when cutting a block of text from a column-like text and pasting as new lines. - ENH: When pasting a blockwise register as characters, flatten and shrink all trailing whitespace to a single space.
BUG: Repeat always used the unnamed register. Add register registration to enhanced repeat.vim plugin. This also handles repetition when used together with the expression register "=. Requires a so far inofficial update to repeat.vim version 1.0 (that hopefully makes it into upstream), which is available at https://github.com/inkarkat/vim-repeat/zipball/1.0ENH1