2012-03-14 86 views
0

我想创建一个Sublime Text 2 Snippet,它填充变量I前面和后面用空格键入的空格。在文本之前和之后用特殊字符填充排队

它应该是这样的:

===========================my_filename.js=========================== 

的文件名应该是居中所以之前和之后文本空格数必须匹配。 另外我需要这一行的整个列宽保持不变。因此,当我添加2个字符时,每边的空格数减1。

我觉得这个样本是:

spacesLeft = roundDown((columnWidth/2) - (textSize/2)) 
spacesRight = roundUp((columnWidth/2) - (textSize/2)) 

但由于只有正则表达式是在崇高的片段可我不看我能,来完成这项任务。

Vintagmode能以任何方式帮助我吗?

感谢您的帮助!

回答

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' 

当前的选择(你的变量),然后生成=的

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))。

+0

'sel =“”+ re.search(“[^ /] + $”,self.view.file_name())。group(0)+“”'做了工作:) – Handfeger 2012-03-15 09:43:09

相关问题