格式化 vim 中的文本列(对齐)

Formatting columns of text in vim (alignment)

除了录制操作之外,是否有任何快捷方式可以使用 vim 快速编辑此内容,然后应用于所有行?

发件人:

French Polynesia  French Polynesian
Gambia The Gambian
Georgia Georgian
Ghana Ghanaian
Grenada Grenadian
Guam  Guamanian

收件人:

French Polynesia  French Polynesian
Gambia            The Gambian
Georgia           Georgian
Ghana             Ghanaian
Grenada           Grenadian
Guam              Guamanian

如果您可以像下面这样用连字符替换空格(在您的示例中,它是 很难为我确定可以使用的这个初始步骤提供一个方法 您的数据中可能存在的其他变化):

French-Polynesia  French-Polynesian
Gambia The-Gambian
Georgia Georgian
Ghana Ghanaian
Grenada Grenadian
Guam  Guamanian

然后你可以运行%!column -t得到这个:

French-Polynesia  French-Polynesian
Gambia            The-Gambian
Georgia           Georgian
Ghana             Ghanaian
Grenada           Grenadian
Guam              Guamanian

然后执行 %s/-/ /g 以达到此目的:

French Polynesia  French Polynesian
Gambia            The Gambian
Georgia           Georgian
Ghana             Ghanaian
Grenada           Grenadian
Guam              Guamanian