2011-10-03 108 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