我经常要在vim的新行上粘贴一些东西.我通常做的是:
o<Esc>p
Run Code Online (Sandbox Code Playgroud)
其中插入新行并将其置于插入模式,而不是退出插入模式,最后粘贴.
三次击键.不是很有效率.有更好的想法吗?
Bom*_*mbe 63
不久之后:help p
它说:
:[line]pu[t] [x] Put the text [from register x] after [line] (default
current line). This always works |linewise|, thus
this command can be used to put a yanked block as
new lines.
:[line]pu[t]! [x] Put the text [from register x] before [line]
(default current line).
Run Code Online (Sandbox Code Playgroud)
不幸的是,它不会比你当前的解决方案更短,除非你把它与一些键盘地图结合起来,如另一个答案所示.例如,您可以将其映射到任何键(偶数p
):
:nmap p :pu<CR>
Run Code Online (Sandbox Code Playgroud)
DrA*_*rAl 51
选项:
1)yy
用于抽出整行(包括行尾字符). p
然后将该行粘贴到当前行之后的新行上,并且P
(Shift- P)将粘贴到当前行之上.
2)进行映射:然后它只有一两个键:
:nmap ,p o<ESC>p
:nmap <F4> o<ESC>p
Run Code Online (Sandbox Code Playgroud)
3)映射的功能版本(真的不必要,但只是为了完整性):
:nmap <F4> :call append(line('.'), @")<CR>
" This one may be a little better (strip the ending new-line before pasting)
:nmap <F4> :call append(line('.'), substitute(@", '\n$', '', ''))<CR>
:help let-register
:help :call
:help append()
:help line()
:help nmap
Run Code Online (Sandbox Code Playgroud)
sou*_*rge 25
您可以使用插入模式粘贴缓冲区,<C-R>
然后使用要粘贴的缓冲区的名称.默认缓冲区是"
,所以你会这样做
o<C-R>"
Run Code Online (Sandbox Code Playgroud)
我发现我<C-R>"
经常使用并将其绑定到<C-F>
我的vimrc中:
inoremap <C-F> <C-R>"
Run Code Online (Sandbox Code Playgroud)
Nic*_*ick 18
这仍然使用三次击键,但我发现它比Esc更容易:
o<Alt-p>
由于您在点击o后处于插入模式,因此Alt修饰符将允许您使用命令,就像您不使用命令一样.
就个人而言,我已经 像这样nmap Enter(CR):
nmap <CR> o<Esc>k
Run Code Online (Sandbox Code Playgroud)
...基于这篇 Vim Wikia文章.
通过这种方式,我可以直接从普通模式创建换行符,并将其与想要粘贴到下面的换行符相结合,我会这样做:
<CR>jp
Run Code Online (Sandbox Code Playgroud)
你也可以在上面的nmap中跳过k,这取决于你更喜欢Enter的功能,所以它就是这样<CR>p
.
我也把jj想象成Esc,这也有助于这种情况.因为它在vim中的重要性,Esc离主页行太远了.
不比其他解决方案短,但我认为它比其中一些解决方案感觉不那么笨重,而且它也有其他用途.
如果你想保持插入模式,你可以这样做o ctrl+o p
o
\xe2\x80\x93 插入模式并转到新行ctrl+o
\xe2\x80\x93 运行单个命令\n就像在正常模式下一样p
\xe2\x80\x93 粘贴只需按三个键,但您仍处于插入模式,而且o ctrl+o
相当快,因此我个人将其视为 2.5 次击键。
如果要复制整行然后粘贴整行,请首先使用Y
来拉动一行或多行(包括换行符)并p
粘贴。您也可以使用V
,这是视觉线条模式,与普通v
视觉模式相反。
使用此插件:https : //github.com/tpope/vim-unimpaired
]p
粘贴在下面的行上
[p
粘贴在上面的行上
好处: