2016-07-15 152 views
0

我試圖在vim的有限範圍內搜索和複製匹配項。 as mentioned in this answer。 我想要的結果複製到使用如何將vim搜索結果複製並粘貼到新標籤

:'<,'>g/foo/y A 

新VIM標籤,但是當打開一個新標籤:tabnew並嘗試粘貼p 什麼也不顯示。
1.所以,我的問題是,如果我可以重定向到一個新的標籤gsearch輸出?
2.如何正確地將輸出複製到寄存器並從寄存器粘貼到新選項卡?

+0

我可以將輸出粘貼到新標籤中。 – SibiCoder

+2

你正在註冊'a',所以你必須從相同的寄存器:'「ap'。 – romainl

回答

2

解決方案選項1:

重定向匹配的文本到新標籤

:tabnew | :normal! i^R/ 

爲了把^R,你必須按Ctrl鍵V,然後[R

上面的命令粘貼搜索寄存器的內容,這是你的情況。如果你想把任何其他寄存器的內容,你可以把該字符,而不是斜槓。

:tabnew | :normal! i^Ra 

這將粘貼寄存器a的內容,在您保存全局搜索命令的輸出。

解決方案選項2: 正常通過寄存器

完美

你的命令作品複製並粘貼!它將全局搜索的輸出複製到寄存器a。所以,你可以直接:tabnew打開另一個選項卡,然後按"ap到貼吧,或者去按i插入模式,然後按Ctrl鍵[R,然後a。在那裏粘貼寄存器a的內容。

+1

我想我錯過了」在新的水龍頭中的Ap,而不是我只使用p。當我複製到寄存器A時,是否附加到前一個副本,還是清除舊副本,只保留新副本? –

+0

當您提供大寫字母時,它會將內容附加到同一個寄存器中。當您嘗試通過p粘貼時,它會粘貼最近刪除/複製的文本。您可以通過在命令行模式下鍵入':registers'來查看寄存器的內容。當您使用小寫字母將某些內容複製到寄存器中時,其舊內容將被刪除。 – SibiCoder