我有單詞列表,其中西班牙語中的單詞或表達式用冒號(「:」)來表示。我想製作兩列,一列用於西班牙語,一列用於英語。我試過用tab替換「:」製作列
:%s/:/^I^I^I/g
但它沒有給出所需的輸出。不同的列不對齊。但是,當手動刪除冒號並插入具有相同數量的選項卡筆劃的選項卡數量時,它始終會對齊...
任何想法如何解決此問題,最好在vim中?
我有單詞列表,其中西班牙語中的單詞或表達式用冒號(「:」)來表示。我想製作兩列,一列用於西班牙語,一列用於英語。我試過用tab替換「:」製作列
:%s/:/^I^I^I/g
但它沒有給出所需的輸出。不同的列不對齊。但是,當手動刪除冒號並插入具有相同數量的選項卡筆劃的選項卡數量時,它始終會對齊...
任何想法如何解決此問題,最好在vim中?
在Linux/* NIX系統我用柱(1)
:%!column -s':' -t
隨後
:%retab!
當處於插入模式時,您的設置會使製表符變爲第列。如果我是正確的,那麼設置爲'softtabstop'
。
對於這些任務,您可以使用像Align.vim或Tabularize這樣的插件。
另一種方法是插入大量的空格,然後根據需要使用可視塊與<
運算符多次,如果必須執行一次。否則,更喜歡可重用的方法。
我倒是有可能做一個
:s/:/^I/g
接着是
:set ts=25
其中25是最長的單詞的預計長度+ 2。因此,如果你期望的最長的單詞你輸入(在冒號的左側)是12個字符,我會選擇14左右的東西。
1。爲了修正間距,你可以使用`:set et`後跟`:retab`。或者在文件中添加一個模式行,這樣該文件的tabstop大小總是爲25(或其他)。 – DrAl 2011-01-31 19:08:43
看看vim的Align插件。
隨着Tabular.vim它很容易,只需鍵入:Tab /:\zs
並沒有休息。
優秀!我猜`column`是在這種情況下使用的* *命令。 – Bolo 2011-02-01 07:58:04