2011-01-31 17 views
4

我有單詞列表,其中西班牙語中的單詞或表達式用冒號(「:」)來表示。我想製作兩列,一列用於西班牙語,一列用於英語。我試過用tab替換「:」製作列

:%s/:/^I^I^I/g 

但它沒有給出所需的輸出。不同的列不對齊。但是,當手動刪除冒號並插入具有相同數量的選項卡筆劃的選項卡數量時,它始終會對齊...

任何想法如何解決此問題,最好在vim中?

回答

4

在Linux/* NIX系統我用柱(1)

:%!column -s':' -t 

隨後

:%retab! 
+0

優秀!我猜`column`是在這種情況下使用的* *命令。 – Bolo 2011-02-01 07:58:04

0

當處於插入模式時,您的設置會使製表符變爲第列。如果我是正確的,那麼設置爲'softtabstop'

對於這些任務,您可以使用像Align.vim或Tabularize這樣的插件。

另一種方法是插入大量的空格,然後根據需要使用可視塊與<運算符多次,如果必須執行一次。否則,更喜歡可重用的方法。

2

我倒是有可能做一個

:s/:/^I/g 

接着是

:set ts=25 

其中25是最長的單詞的預計長度+ 2。因此,如果你期望的最長的單詞你輸入(在冒號的左側)是12個字符,我會選擇14左右的東西。

+1

1。爲了修正間距,你可以使用`:set et`後跟`:retab`。或者在文件中添加一個模式行,這樣該文件的tabstop大小總是爲25(或其他)。 – DrAl 2011-01-31 19:08:43

0

隨着Tabular.vim它很容易,只需鍵入:Tab /:\zs並沒有休息。