内容中的vim sparkup项目编号

时间:2015-09-16 18:42:42

标签: vim sparkup

使用vim的sparkup插件(特别是Ubuntu 15.04上的vim-gnome,虽然我怀疑这很重要),我正在生成一个带有项目编号的列表:

ion-content.has-tabs > .list > a.item[href=#/item/$]{Item $}*3

结果会替换[href=#/item/$]中的项目编号,而不会替换{Item $}中的项目编号:

<ion-content class="has-tabs"> <div class="list"> <a href="#/item/1" class="item">Item $</a> <a href="#/item/2" class="item">Item $</a> <a href="#/item/3" class="item">Item $</a> </div> </ion-content>

功能,错误或用户错误?

3 个答案:

答案 0 :(得分:1)

我不记得Sparkup支持在“内容”括号内增加数字,所以我会说“功能”。

不要浪费时间在插件的问题跟踪器上寻求修复。

答案 1 :(得分:0)

我很抱歉这个插件认为花括号中的$是一个不应该受到影响的文本。要计算Item $列表,可以尝试使用此命令

:let @a=1 | %s/\$/\=(@a+setreg('a',@a+1))/g

或视觉模式中的选定块

:let @a=1 | '<,'>s/\$/\=(@a+setreg('a',@a+1))/g 

答案 2 :(得分:0)

我在问这个问题时接受了问题的答案,但我添加了这个以显示另一种方法,以满足略微不同的要求。我需要添加一个嵌套标签以及Sparkup不支持的文本。所以我找到了一个单步的两步解决方案,它也解决了原始的项目编号问题(在我的现实世界解决方案中更复杂但在这里简化了)。

这个火花:

ion-content > .list > a.item.item-icon-left.Item$[href=#/items/$]*3 > i.icon.ion-email

生成这个:

<ion-content> <div class="list"> <a href="#/items/1" class="item item-icon-left Item1"> <i class="icon ion-email"></i> </a> <a href="#/items/2" class="item item-icon-left Item2"> <i class="icon ion-email"></i> </a> <a href="#/items/3" class="item item-icon-left Item3"> <i class="icon ion-email"></i> </a> </div> </ion-content>

然后在我以可视模式选择行后,运行:

:'<,'>s/ Item\([0-9]*\)">/">Item \1/g

产生我想要的结果:

<ion-content> <div class="list"> <a href="#/items/1" class="item item-icon-left">Item 1 <i class="icon ion-email"></i> </a> <a href="#/items/2" class="item item-icon-left">Item 2 <i class="icon ion-email"></i> </a> <a href="#/items/3" class="item item-icon-left">Item 3 <i class="icon ion-email"></i> </a> </div> </ion-content>