在Text之前和之后填充特殊字符

时间:2012-03-14 09:51:50

标签: code-snippets sublimetext

我想创建一个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能以任何方式帮助我吗?

感谢您的帮助!

1 个答案:

答案 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