2011-08-30 50 views
9

在Vim裏面,是否有一個格式化命令可以對齊一行結束行註釋?在Vim中對齊結束行註釋?

例如在C++中,它會變成這樣:

m_varName1; // Comment 1 
m_varName1AndABit;  // Command 1 and a bit 
m_varName2;  // Comment 2 
m_varName3ButReally2AndABit; // Comment 3 (but really 2 and a bit) 

到這一點:

m_varName1;     // Comment 1 
m_varName1AndABit;   // Command 1 and a bit 
m_varName2;     // Comment 2 
m_varName3ButReally2AndABit; // Comment 3 (but really 2 and a bit) 

謝謝!

回答

11

tabular.vim插件應該能夠做到這一點。他們選擇在視覺上,並與

:Tabularize /\/\/ 
+6

其實你不需要直觀地選擇,除非你想要更精確。 Tabularize足夠聰明地檢測一個塊。另外,你可能會發現':Tab'更易於使用。 – sidyll

+1

嘗試對齊後,我根據個人喜好與Tabularize一起前往。兩人都解決了這個問題,但Tabularize似乎是一個更清潔的解決方案。 –

3

使用Align插件讓Vim根據您選擇的任何分隔符進行對齊。

+1

起初我是全力以赴的,但Align有一些副作用 - 其中一個與我現有的關鍵圖相沖突。 –

+0

您可以重新映射關鍵圖。我根本不使用它們。我只是使用':Align ' –

+1

確實如此,但我並沒有像Tabularize那樣的「開箱即用」問題,所以它贏了。但是,除了這個關於如何設計一個vim插件的問題之外,這是一個更大的討論。 –

0

我有過類似的問題,今天在這裏我想在某個位置上的空白齊齊他們。剛剛寫了一個blog post關於我如何使用Align插件。