Regex 将键和值置于哈希火箭的中心
使用vim表格,我尝试将其格式化如下:Regex 将键和值置于哈希火箭的中心,regex,vim,vim-tabular,Regex,Vim,Vim Tabular,使用vim表格,我尝试将其格式化如下: foo = { "iSortCol_0" => "1", "sSortDir_0" => "desc", "iSortingCols" => "1", "bSortable_0" => "false", "bSortable_1" => "true", "bSortable_2" => "false", "bSortable_3" => "true", "bSort
foo = {
"iSortCol_0" => "1",
"sSortDir_0" => "desc",
"iSortingCols" => "1",
"bSortable_0" => "false",
"bSortable_1" => "true",
"bSortable_2" => "false",
"bSortable_3" => "true",
"bSortable_4" => "false",
"bSortable_5" => "true",
"bSortable_6" => "true",
"bSortable_7" => "true",
"bSortable_8" => "true"
}
foo = {
"iSortCol_0" => "1",
"sSortDir_0" => "desc",
"iSortingCols" =>"1",
"bSortable_0" => "false",
"bSortable_1" => "true",
"bSortable_2"=> "false",
"bSortable_3" => "true",
"bSortable_4" => "false",
"bSortable_5" => "true",
"bSortable_6" => "true",
"bSortable_7" =>"true",
"bSortable_8" => "true"
}
我有一个随机格式化的ruby哈希表中的项目列表,例如:
foo = {
"iSortCol_0" => "1",
"sSortDir_0" => "desc",
"iSortingCols" => "1",
"bSortable_0" => "false",
"bSortable_1" => "true",
"bSortable_2" => "false",
"bSortable_3" => "true",
"bSortable_4" => "false",
"bSortable_5" => "true",
"bSortable_6" => "true",
"bSortable_7" => "true",
"bSortable_8" => "true"
}
foo = {
"iSortCol_0" => "1",
"sSortDir_0" => "desc",
"iSortingCols" =>"1",
"bSortable_0" => "false",
"bSortable_1" => "true",
"bSortable_2"=> "false",
"bSortable_3" => "true",
"bSortable_4" => "false",
"bSortable_5" => "true",
"bSortable_6" => "true",
"bSortable_7" =>"true",
"bSortable_8" => "true"
}
我可以使用Tab/=>
将其关闭,但它不能完全产生所需的结果:
foo = {
"iSortCol_0" => "1",
"sSortDir_0" => "desc",
"iSortingCols" => "1",
"bSortable_0" => "false",
"bSortable_1" => "true",
"bSortable_2" => "false",
"bSortable_3" => "true",
"bSortable_4" => "false",
"bSortable_5" => "true",
"bSortable_6" => "true",
"bSortable_7" => "true",
"bSortable_8" => "true"
}
如何指定对齐符号的左侧的格式?我想我需要使用
\zs
或\ze
,但我很难将它们用于此目的 您需要为每个截面指定对齐方式:
Tabularize/=>/r1l1l0
右侧为r
,左侧为l
,中间为c
。每个后接每个部分的空间数。因此,您在=>
上拆分,这意味着=>
前面有一个部分,=>
本身,以及=>
后面的文本部分
由于我不喜欢右对齐,您可能希望通过
=I}
缩进代码,然后执行:制表/=>/
为什么与第二个l
关联的整数无关紧要(即制表/=>/r1l1l1
,制表/=>/r1l2
,制表/=>/r1l213
都产生相同的结果)?从:h表格演练:“字母后面的数字是在下一个字段开始之前要插入的空格数”。因为这是最后一个字段,所以它与您指定的空间大小无关,因为它不会被使用。那么为什么首先需要指定它呢。你能描述一下第二个l
对整个语句的影响吗?我想这可能与以下事实有关:tabularize会在找到更多字段时重复对齐标志<第二个字段的code>l1
在=>
后添加1个空格。您可以玩这个游戏并将其更改为0,然后看到=>
和下面的文本将紧靠在一起。