2011-05-10 66 views
0

我擁有一個充滿這個文本文件:在vim創建一個類的簽名

class Baz 
{ 
    void Test() 
    { 

    } 

    int Sum (int) 
    { 

    } 
} 

,我想創建文本另一個緩衝區像以下:

interface IBaz 
{ 
    void Test(); 
    int Sum (int); 
} 

我該怎麼辦在vim中編輯。任何插件或鍵盤

回答

0

如果你的文件遵循您發佈的精確模式上的一些招,你可以用4個命令解決這個問題:

:%s/^class\s*/interface I 
:%s/^\s\+{\_[^}]*}// 
:g/^\s*$/d 
:%s/)\zs$/; 
  1. 變化classinterface I
  2. 刪除縮進塊
  3. 刪除空行
  4. ;結束後)

如果您需要在多個文件中使用該文件(儘管我建議您使用該文件,即使您要使用它一次),請將此文本複製並粘貼到緩衝區,然後將其寫入文件,如/tmp/cs。然後,在關注要更改的緩衝區的同時,運行:so /tmp/cs