2016-04-11 10 views
2

我想Tabulize忽略不具有特定的字符,然後對準/ tabularize線線..有無Tabulize忽略一些線路和對準別人

text1_temp = text_temp; 
temporary_line; 
text2 = text_temp; 

在最後我想以下:

text1_temp = text_temp; 
temporary_line; 
text2  = text_temp; 

//第2 「=」 隔開/相對於所述第一標籤 「=」

如果用完 「:Tabularize/=」 爲3行一起我得到:

text1_temp  = text_temp; 
temporary_line; 
text2   = text_temp; 

當兩行用「=」是相對於對準中間線

任何建議的長度..?

PS:我編輯的職位可能解釋需要更好的..

+1

你想[刪除後面的空格'='(https://regex101.com/r/kV0tB2/1)? – Shafizadeh

+0

據我所見,你想要取消列表這些行。它是否正確? 我認爲,你需要另一個命令,就像un-tabularize一樣。 –

回答

1

我不知道如何直接與Tabular做到這一點。您可能可以使用Christian Brabandt的NrrwRgn插件僅使用:NRP然後運行:NRM來篩選=的行。這會給你一個新的緩衝區,只有=的行,所以你可以運行:tabularize/=/然後保存緩衝區(:w:x等)。

:g/=/NRP 
:NRM 
:tabularize/=/ 
:x 

最簡單的方法可能是使用vim-easy-align支持這樣的行爲了,似乎盒子。使用EasyAlign的例子(使用ga作爲EasyAlign的映射你):

gaip= 
+0

謝謝..這在某種程度上可行。 –

0

怎麼樣一個簡單的替換,像:g/=/s/\t/ /g

如果不工作,你可以試試這個太::g/=/s/ \+= \+/ = /g

說明::/g/=/s會發現所有包含該行「=」,併爲他們做了更換。 因此,s/\t/ /g將用空格替換標籤。這兩件事結合起來就可以做你需要的東西。