Vim 自动缩进大数组文字

Vim auto indent large array litterals

我遇到了多行长不一样的列表难看的问题。

举个例子:

    voxels = [[90, 90,    90],
              [110, 110, 110],
              [40, 40,    40],
              [100, 100, 100],
              [50, 50,    50],
              [25, 25,    25],
              [10, 10,    10]]
    cords = [[-5.141, -114.9, 181.8],
             [-27.71, -99.95, 169.4],
             [51.29, -152.3, 213],
             [-16.43, -107.4, 175.6],
             [40, -144.8, 206.8],
             [68.21, -163.5, 222.3],
             [85.14, -174.7, 231.7]]

体素列表格式正确但线不是。 找不到任何执行此操作的 vim 工具,关于如何完成此操作的任何想法?

你可以试试Tabular plugin;安装后,转到以 cords = 开头的行,然后是 运行 以下命令(命令的结尾可能会有所不同,请查看插件的帮助):

:.,.+6Tabularize /,/l0l1

这应该给出以下结果:

cords = [[-5.141, -114.9, 181.8] ,
         [-27.71, -99.95, 169.4] ,
         [51.29 , -152.3, 213]   ,
         [-16.43, -107.4, 175.6] ,
         [40    , -144.8, 206.8] ,
         [68.21 , -163.5, 222.3] ,
         [85.14 , -174.7, 231.7]]