-
Notifications
You must be signed in to change notification settings - Fork 1
/
UnconditionalPaste.txt
115 lines (90 loc) · 4.71 KB
/
UnconditionalPaste.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
*UnconditionalPaste.txt* Force character-/line-/block-wise paste, regardless of how it was yanked.
UNCONDITIONAL PASTE by Ingo Karkat
*UnconditionalPaste.vim*
description |UnconditionalPaste-description|
usage |UnconditionalPaste-usage|
installation |UnconditionalPaste-installation|
configuration |UnconditionalPaste-configuration|
limitations |UnconditionalPaste-limitations|
known problems |UnconditionalPaste-known-problems|
todo |UnconditionalPaste-todo|
history |UnconditionalPaste-history|
==============================================================================
DESCRIPTION *UnconditionalPaste-description*
If you're like me, you occasionally do a linewise yank, and then want to
insert that yanked text in the middle of some other line (or vice versa).
The mappings defined by this plugin will allow you to do a character-, line-,
or block-wise paste no matter how you yanked the text.
SOURCE *
Based on vimtip #1199 by cory,
http://vim.wikia.com/wiki/Unconditional_linewise_or_characterwise_paste
==============================================================================
USAGE *UnconditionalPaste-usage*
*gcp* *gcP* *glp* *glP* *gbp* *gbP*
["x]gcp Paste characterwise (newline characters are flattened
["x]gcP to spaces) [count] times.
["x]glp Paste linewise (even if yanked text is not a complete
["x]glP line) [count] times.
["x]gbp Paste blockwise (inserting multiple lines in-place,
["x]gbP pushing existing text further to the right) [count]
times.
==============================================================================
INSTALLATION *UnconditionalPaste-installation*
This script is packaged as a |vimball|. If you have the "gunzip" decompressor
in your PATH, simply edit the *.vba.gz package in Vim; otherwise, decompress
the archive first, e.g. using WinZip. Inside Vim, install by sourcing the
vimball or via the |:UseVimball| command. >
vim UnconditionalPaste.vba.gz
:so %
To uninstall, use the |:RmVimball| command.
DEPENDENCIES *UnconditionalPaste-dependencies*
- Requires Vim 7.0 or higher.
- repeat.vim (vimscript #2136) plugin (optional).
==============================================================================
CONFIGURATION *UnconditionalPaste-configuration*
If you want to use different mappings (e.g. starting with <Leader>), map your
keys to the <Plug>UnconditionalPaste... mapping targets _before_ sourcing this
script (e.g. in your |vimrc|): >
nmap <silent> <Leader>Pc <Plug>UnconditionalPasteCharBefore
nmap <silent> <Leader>pc <Plug>UnconditionalPasteCharAfter
nmap <silent> <Leader>Pl <Plug>UnconditionalPasteLineBefore
nmap <silent> <Leader>pl <Plug>UnconditionalPasteLineAfter
nmap <silent> <Leader>Pb <Plug>UnconditionalPasteBlockBefore
nmap <silent> <Leader>pb <Plug>UnconditionalPasteBlockAfter
<
==============================================================================
LIMITATIONS *UnconditionalPaste-limitations*
KNOWN PROBLEMS *UnconditionalPaste-known-problems*
TODO *UnconditionalPaste-todo*
IDEAS *UnconditionalPaste-ideas*
==============================================================================
HISTORY *UnconditionalPaste-history*
1.21 02-Dec-2011
- 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.
1.20 30-Sep-2011
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
1.11 06-Jun-2011
ENH: Support repetition of mappings through repeat.vim.
1.10 12-Jan-2011
Incorporated suggestions by Peter Rincker (thanks for the patch!):
- Made mappings configurable via the customary <Plug> mappings.
- Added mappings gbp, gbP for blockwise pasting.
- Now requires Vim version 7.0 or higher.
1.00 10-Dec-2010
Published, prompted by a related question on reddit.
0.01 10-Apr-2006
Started development, based on vimtip #1199 by cory.
==============================================================================
Copyright: (C) 2006-2011 Ingo Karkat
The VIM LICENSE applies to this script; see |copyright|.
Maintainer: Ingo Karkat <ingo@karkat.de>
==============================================================================
vim:tw=78:ts=8:ft=help:norl: