2009-10-06 51 views
2

我喜歡使用空格縮進而不是製表符;在一行的開頭代替翼片在sedvim很容易:如何使用空格替換intraline選項卡,保持對齊?

s/^I/ /g 

但是,如果有一個線(假裝的空間是標籤炭的寬度)內的選項卡:

'foo'^I ^I => 'bar', 
'bazzle'^I => 'qux', 

每個選項卡都不對應一定數量的空格以保持對齊。任何人都有一個狡猾的想法,如何在保持正確對齊的同時用空格替換這些製表符?

回答

7

在Vim中:

:retab 

,或者,如果你有空格後的標籤:

:retab! 
+0

不要忘記設置expandtab – rampion 2009-10-06 23:33:25

8

在Linux和BSD下,查找expand和unexpand命令行工具。展開將標籤轉換爲空格,而未展開則執行相反的操作。最簡單的用法是:

expand filename 

如果你像我一樣,使用4個空格的標籤,然後:

expand -t 4 filename 

默認情況下,擴大打印到標準輸出,並保留原始文件的機智。爲了使就地更換,至少有兩個選擇:

$ cp filename backup 
$ expand -t 4 filename > tempfile 
$ mv tempfile filename 

或者,您也可以在六則啓動擴大:

$ vi filename 
:%!expand -t 4 
+0

我想這樣做沒有使用另一位編輯和「擴展」工作很好。 – fuenfundachtzig 2013-01-17 15:29:24

相關問題