2011-10-03 158 views
0

改变了(命令模式)的某些行我有这样的代码:如何复制和粘贴在vim

def foo 
    puts "foo" 
end 

和结果,我需要:

def foo 
    puts "foo" 
end 

def bar 
    puts "bar" 
end 

我想在执行此命令模式(你也可以参考一些帮助?),但也欢迎其他解决方案。

+0

请让我知道如果您有任何问题使用我的答案中提出的命令。 –

回答

3

要复制/贴纸使用类型:(与你光标开def foo线)

y3yGP 

它将在该文件的末尾的3行复制。请使用xG,其中x是行号x。 (使用set number看行号)

然后你就可以用命令栏更改富:

:x,ys/foo/bar/ 

随着x块的第一线,和y最后一个:)

希望能帮助你:)

+0

谢谢,这很不错,但我怀疑它可能会更加不合时宜... –

0

在插入模式我做了以下(光标def foo)住: S-vjjjyPgv:S /富/酒吧/ g的

对我来说好戏是使用gv来检索上一次的选择。

0

可以使用下面的Ex命令(假设光标位于 的def -line)。

:,/^end/t//|'[,']s/\<foo\>/bar/g|'[pu!_ 

要跳转到的配对end -line该def -line,可以采取%命令通过matchit插件扩展的优点 。

:exe"norm V%y']o\ep"|'[,']s/\<foo\>/bar/g