2017-02-16 73 views
0

我有一段代碼,它有一個開口和相應的右括號。我需要在代碼中複製代碼並粘貼到其他地方。我需要多次執行此操作,因此我需要鍵盤命令才能啓用錄製。vim中的開始和結束括號之間的複製行

例如:

abc{ //beginning of code 
    somelines 
    { 
     some lines 
    } 
    abc 
    { 
     some lines 
    } 
}// end of code 

我需要abc {複製到}//end of the code。行號可能會改變,裏面還會有子塊。使用鼠標,如果我們雙擊大括號,它會選擇塊的結束。但我需要avkeyboard命令才能用作宏。

+0

** First **;鍵入'qaq'來擦除寄存器'a'的內容,然後將光標放在'abc {'行,然後通過'qaV%yq'創建宏,然後爲每個塊類型'@ a'選擇塊並轉到任何並將其粘貼到'p' –

+0

可能更適合[vi.se]。 –

回答

0

您可以將此宏:/{^Myi{npjdd複製到註冊表a。要執行此操作,請通過輸入v進入可視模式,然後選擇宏並使用:"ay將其複製到註冊表a。然後將光標放在文檔的第一個{之前,然後鍵入[email protected]。這裏2可以被你想要重複宏的次數所取代。通過下面的代碼使用該宏:

{ 
    code1 
} 
{ 

} 
{ 
    code2 
} 
{ 

} 

我得到:

{ 
    code1 
} 
{ 
    code1 
} 
{ 
    code2 
} 
{ 
    code2 
} 
+0

但我在代碼1本身中有開口和閉合花括號。嵌套代碼。 – OgANgA

0

揚克(Ÿ)內()括號({)應該爲你做這個: yi{

如果您有圓括號:yi(

如果要將其複製到GUI剪貼板,只需使用+註冊表:"+yi{

相關問題