2012-03-14 8 views
0

変数Iにスペースを入力する前後にスペースを埋めるSublime Text 2スニペットを作成したいと思います。テキストの前と後に特殊文字で行を塗りつぶす

それは次のようになります。

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

テキスト前後のスペースの数が一致する必要がありますのでファイル名を中央にする必要があります。 また、私はこの列の全体的な列の幅を同じにする必要があります。だから私は2つの文字を追加すると、各側のスペースの数が1つ減らされます。

私はこれのためにサンプルがあることだと思う:

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

しかし、唯一の正規表現は崇高なスニペットで提供されていますので、私は、このタスクを達成するために、可能な私を見ていません。

Vintagmodeはどんな方法でも助けてくれますか?

ありがとうございました!

答えて

1

スニペットは本質的に静的であるため、この場合は手伝っていただけません。しかし、これを比較的容易に行うためのプラグインを作成することができます。崇高なテキストは、そのプラグインのためにpythonを使用します。 [ツール]> [新しいプラグイン]に移動して作成できます。 ST2のAPIはhereと非常に印象的です。基本的に、あなたは次にと現在の行(self.view.line(sel))を置き換える= '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 += '=' 

を生成その後

sel_reg = self.view.sel()[0] # the current selection 'Region' 
sel = self.view.substr(sel_reg) # the text within the 'Region' 

を使用して、現在の選択(あなたの変数)を保存したいと思います。

+0

'sel =" "+^re.search(" [^ /] + $ "、self.view.file_name())。グループ(0)+" "' – Handfeger

関連する問題