使用ctrl c
将不在换行符中的文本从某处复制到带有vim
的窗口中的剪贴板,并将其粘贴到使用cmd.exe
编辑的文本文件中(在{{1}中的控制台模式中) } "+p
。例如,右键单击“复制链接地址”的URL。
然后,对于下一个剪贴板内容(在此期间复制),要将其粘贴到下一行,您需要将光标移动到o <Enter> <Esc>
。
更聪明的方法是什么?
获取以换行符结尾的文字,例如yy
复制的一行。如果您按p
或P
将光标粘贴回来,为什么光标会无差别地停留在该行的第一个字符上?
答案 0 :(得分:2)
你究竟在做什么?
在"+p
之后,您处于正常模式,<Esc>
在此处没有用处,o
打开一个新行以便插入当前行,<Enter>
插入一个小车返回,所以你现在在下面两行,再次点击<Esc>
返回正常模式,准备粘贴更多内容。
我是这样看的,其中bar
从其他程序复制而[]
在正常模式下标记光标,|
在插入模式下标记:
[]
"+p
ba[r]
<Esc>o
bar
|
<Enter>
bar
|
<Esc>
bar
[]
这就是你做的吗?
如果你的问题是o<Enter>
需要将光标放在下面两行空行,你有很多方法可以优化。我建议一个简单的映射:
nnoremap <F3> 2o<Esc>"+p
下面会给你两条空行,并在那里粘贴"+
寄存器的内容。
或更聪明的人{count}
(2<F3>
,9<F3>
):
nnoremp <F3> :<C-u>execute 'normal! ' . v:count . 'o'<CR>"+p
当然,您可以选择任意键或组合键而不是<F3>
。
答案 1 :(得分:1)
试试这个:
:map <F9> "+p<ESC>o<CR><ESC>
使用您喜欢的任何内容代替F9
作为键绑定。
然后只需在剪贴板中选择文字并点击F9
(或您选择的任何键绑定)
答案 2 :(得分:1)
您可以使用{register}
直接在插入模式下“放置”寄存器的内容所以按键是:
a<C-r>+<CR><CR><Esc>
a<C-r>+
所以你用'a'进入插入模式,把用于剪贴板的寄存器'+'然后插入两个换行符,返回正常模式然后你复制第二个链接并重复操作
答案 3 :(得分:1)
我的UnconditionalPaste plugin提供了专门的粘贴命令,例如glp
,它将一个寄存器粘贴到一个新行中,即使寄存器内容只是没有尾随换行符的文本。