如何使Vim tabularize自动打破给定的列宽?

时间:2013-03-18 15:17:15

标签: vim tabular

在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 /&lt;&lt;。但是以{img_name!=开头的长列......一切都搞砸了:它强迫所有其他列真的很长。如果tabularize有一个你可以设置的变量以便它会自动找到它会很酷最佳的间距和令牌的排列,以使最短的法律陈述,但这对每种语言都是更加艰巨,最好能够快速分割文字宽度。

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

如何将这个陈述与tabularize快速对齐,并在适当的位置插入换行符?

1 个答案:

答案 0 :(得分:1)

结果不太好:)但是试试

:Tab /<<
Select range
type gq

看起来如下。

enter image description here

有一种非直观的方法

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

但看起来更糟

enter image description here