我想创建一个Sublime Text 2 Snippet,它填充变量I之前和之后用空格键入的空格。
它应该是这样的:
===========================my_filename.js===========================
文件名应居中,以便Text之前和之后的空格数必须匹配。 另外我需要这条线的整体列宽保持不变。所以当我添加2个字符时,每边的空格数减少一个。
我认为这样做的一个例子是:
spacesLeft = roundDown((columnWidth/2) - (textSize/2))
spacesRight = roundUp((columnWidth/2) - (textSize/2))
但由于只有RegEx可用于Sublime Snippets,我认为我无法完成此任务。
Vintagmode能以任何方式帮助我吗?
感谢您的帮助!
答案 0 :(得分:1)
因为片段本质上是静态的,所以在这种情况下它们无法帮助您。但是,您可以创建一个插件来相对轻松地执行此操作。 Sublime Text使用python作为其插件。您可以转到工具>创建一个;新插件。可以找到ST2的API here并且非常令人印象深刻。基本上,您需要使用
存储当前选择(您的变量)sel_reg = self.view.sel()[0] # the current selection 'Region'
sel = self.view.substr(sel_reg) # the text within the 'Region'
然后生成='s
signs = ''
each_side = len(80 - len(sel))/2 # 80 is the standard window length,
# change this to what you want.
# Not sure about how to make it dynamic.
for x in xrange(each_side):
signs += '='
然后将当前行(self.view.line(sel)
)替换为signs + sel + signs
。