5

我有单词列表,其中西班牙语中的单词或表达由其翻译用冒号(“:”)分隔。我想做两列,一列西班牙语,另一列英语。我试过了

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

但它没有提供所需的输出。不同的列未对齐。但是,当手动删除冒号并插入相同数量的制表符笔划的制表符时,它总是对齐...

知道如何解决这个问题,最好是在 vim 中?

4

5 回答 5

4

在 Linux/*nix 系统上,我使用 column(1)

:%!column -s':' -t 

其次是

:%retab!
于 2011-02-01T07:39:55.090 回答
2

我可能会做一个

:s/:/^I/g

其次是

:set ts=25

其中 25 是预期的最长单词的长度 + 2。因此,如果您希望输入的最长单词(在冒号左侧)为 12 个字符,我会选择 14 左右的字符。

于 2011-01-31T17:42:29.580 回答
1

查看 vim 的 Align 插件。

http://www.vim.org/scripts/script.php?script_id=294

于 2011-01-31T22:01:08.177 回答
1

使用 Tabular.vim 非常简单,只需键入:Tab /:\zs,剩下的就交给它了。

于 2011-01-31T23:30:55.420 回答
0

在插入模式下,您的设置会使选项卡到达第 th列。'softtabstop'如果我是对的,这是用设置设置的。

对于这些任务,您可以使用 Align.vim 或 Tabularize 之类的插件。

另一种选择是插入大量空格,然后<根据需要多次使用 Visual Block with operator,如果你必须这样做的话。否则更喜欢可重用的方法。

于 2011-01-31T17:37:30.040 回答