2012-07-03 27 views
24

我經常在vim中編輯長文件,這些文件在文件中多個不同位置有代碼塊,我需要不斷地在兩者之間來回切換。顯然,解決這個問題的一種方法是分割窗口:在不同的分割窗口中分割和編輯每個部分,並且在任一窗口中的一個:w將保存整個文件。如果你有足夠大的屏幕,這很好,但有時我必須在低分辨率筆記本電腦上使用vim,而且我不想通過分割窗口來進一步縮小屏幕空間。如何在vim的多個標籤中編輯相同的文件?

在這種情況下,我真正想要做的是編輯多個標籤中的文件,並將每個單獨的標籤完全像一個單獨的視圖分割。我可以通過使用:tabopen <the same filename>來模仿這種情況,一旦我打開了一個文件副本,但是這有點冒險 - 如果我已經對該文件進行了更改,它就不起作用,因爲vim認爲我只是打開文件第二次。

有沒有一種很好的方式來獲得我想要的與VIM中的標籤的行爲?

+4

實現這一點的另一種方法是用'ma','mb'等來標記文件的地方,回到地方與''了',' 'b'等 –

回答

28

:tab命令將命令作爲參數。

所以,你可以這樣做:

:tab split 

這會工作,即使緩衝區被修改,並保存在任一選項卡保存文件,更新中都保存的狀態。

+8

或':tab sp'簡稱 – Conner

7

可以使用:tab命令:

:[count]tab {cmd}` 

執行{cmd}並打開它時,一個新窗口中打開一個新的標籤頁代替。 [...]當[count]被省略時,標籤頁出現在當前標籤頁之後。當指定[count]時,新標籤頁出現在標籤頁[count]之後。使用:0tab cmd作爲第一個標籤頁。

例子:

:tab split   " opens the current buffer in new tab page 
:tab help gt   " opens tab page with help for "gt" 
相關問題