如何在多行之后粘贴内容

时间:2013-04-14 17:20:02

标签: vim macvim

我在现实生活中总是遇到这个问题。

我想要这个:

我的光标位于多行代码的第一行。内容应该放在多行代码之后。

[cursor]xxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
[this is where i want to place the code]

现在的问题:

由于vim中的p只是粘贴光标后的代码,我必须到行的末尾并p

xxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
[cursor]xxxxxx
[this is where i want to place the code]

3 个答案:

答案 0 :(得分:4)

put是您要查找的命令

:[lineNo]put x

e.g。

:200pu

会将行号"的值粘贴到lineNo 200之后。

:200pu n

会在lineNo 200之后粘贴注册n的值(在您完成之前:"ny)。

有关详情,请查看:h :pu

nu

编辑

我觉得在不同情况下使用数字或相对数字很好。不要一直坚持一个。至少我这样做了。在我的vimrc中,我写了一个小函数来切换相对数和正常行号:

function! ToggleRelativeNumber()
    let &relativenumber = &relativenumber?0:1
    let &number = &relativenumber? 0:1
endfunction
"map <leader> rn to the function
nnoremap <silent> <Leader>nu :call ToggleRelativeNumber()<cr>

所以我可以输入,nu来切换它们。 (我的领导是,

答案 1 :(得分:1)

如果要在代码块之后粘贴,可以使用} P 导航到块的末尾,然后粘贴到该行。

答案 2 :(得分:0)

假设您要从默认寄存器中粘贴

    下次出现foo
  • 粘贴:

    /foo<cr>p
    
  • 或肯特的建议:

    :+4put