Vim 替换为:&引用;按选项卡创建列

Vim 替换为:&引用;按选项卡创建列,vim,colon,Vim,Colon,我有一个单词列表,其中西班牙语中的单词或表达式用冒号(“:”)分隔。我想写两个专栏,一个是西班牙语,另一个是英语。我试过了 :%s/:/^I^I^I/g 但它不能提供所需的输出。不同的列没有对齐。但是,当手动删除冒号并插入具有相同制表符笔划数的制表符时,它总是以对齐结束 你知道如何解决这个问题吗,最好是在vim中?在插入模式下,你的设置会使tab到达第n列。如果我是对的,这是用'softtabstop'设置的 对于这些任务,您可以使用类似Align.vim或Tabularize的插件 另一个选

我有一个单词列表,其中西班牙语中的单词或表达式用冒号(“:”)分隔。我想写两个专栏,一个是西班牙语,另一个是英语。我试过了

:%s/:/^I^I^I/g
但它不能提供所需的输出。不同的列没有对齐。但是,当手动删除冒号并插入具有相同制表符笔划数的制表符时,它总是以对齐结束


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

在插入模式下,你的设置会使tab到达第n列。如果我是对的,这是用
'softtabstop'
设置的

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

另一个选择是插入大量空格,然后使用visualblock和
我可能会做一个

:s/:/^I/g
接着是

:set ts=25

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

查看vim的Align插件


使用tablar.vim非常简单,只需键入
:Tab/:\zs
就可以完成其余部分。

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

:%retab!

+1.要固定间距,可以执行
:set et
,然后执行
:retab
。或者,向文件中添加一个modeline,使文件的tabstop大小始终为25(或任何值)。非常好!我猜
column
是本例中要使用的命令。
:%retab!