3

在 vim 中使用 tabularize 确实很不错,但我不喜欢的一件事是,当我在一组中有一列特别长时,会弄乱所有其他列。一般来说,我喜欢让我的文本宽度不超过 80 个字符。否则,当你垂直分割时,你会得到一团糟的可读性。考虑以下:

  mlog->_ofile << "INS="      << string((char *) ins_asm)    << delimiter  << 
    " in Img: " <<  (img_name!=0  ? string( (char*)   img_name) : "INVALID") <<
    delimiter  << " at IP="   << setbase(16) << insPointer   << delimiter << 
    " Time: "  << setbase(10) << time << delimiter;

您通常会将其与简单的视觉选择对齐,然后:Tab /<<。但是以 ( ... 开头的长列img_name!=把一切都搞砸了:它迫使所有其他列都非常长。如果 tabularize 有一个你可以设置的变量会很酷,这样它就会自动找到最佳间距和排列标记为最短的法律声明,但这对于每种语言来说都比较困难,最好能够快速按文本宽度进行分割。

:set tw=80 doesn't do the job either just to note.

如何既能快速将此语句与 tabularize 对齐,又能在适当的地方插入换行符?

4

1 回答 1

1

结果不漂亮:)但尝试

:Tab /<<
Select range
type gq

如下所示。

在此处输入图像描述

有一种非视觉方法

:%s/\(.\{78}\)/\1\r/g

但看起来更糟

在此处输入图像描述

于 2014-01-10T01:33:15.410 回答