2015-10-06 37 views
2

我想這樣做:VIM如何削減文本和插入新行

1 printf("hello world\n"); 
2 bool func() //I want to cut the comment and insert between line 1 and line 2 
3 { 
4  //to do 
5 } 

而且,我想//後切評論和線1和線2之間插入據我所知,通過使用Ctrl+vvim被轉換爲VISUAL模式,並且您可以選擇文本,並按d,可以剪切文本,但是如何插入要剪切並插入新行的文本?有什麼命令嗎?

而我覺得切割文字後,你可以按o並按esc並按p粘貼,但似乎很乏味。有沒有更好的命令?

預先感謝您!

+1

'P'將在光標前經過,'p'將在光標後經過。 :h是你的朋友。 – Jrican

回答

5

如果要保存擊鍵,可以使用<c-r>"以插入模式插入"寄存器。

此外,您可以從光標刪除到D的行尾,該行將刪除的部分放入"寄存器中。

所以,如果你的光標是在註釋的第一個字符,你可以使用

DO<c-r>" 

到transfrom

printf("hello world\n"); 
bool func() //I want to cut the comment and insert between line 1 and line 2 
{ 
    //to do 
} 

進入

printf("hello world\n"); 
//I want to cut the comment and insert between line 1 and line 2 
bool func() 
{ 
    //to do 
} 

所有你需要做的是乾淨的在func()之後增加尾隨空白。


看看:help i_CTRL-R更多地瞭解<c-r>插入模式。

+1

在這種特定情況下,DO p可能更簡單,因爲您不必考慮選擇哪個寄存器。您也可以使用'C O p'來清理尾隨的空白區域。 – Vitor

+0

感謝,它的工作原理,使用vim真的很有趣。 –

1

一個由FDinoff建議旁的另一個解決方案:在所述第一斜線

d(切割直至行尾的註釋)

並運行:pu!(把當前行上面的內容。)