SublimeTextのpluginの作り方

Posted on 日 17 2月 2013 in sublimetext, python

しかだよ。 SublimeTextの簡単なプラグイン作成の依頼があったのでちょっと作ってみたよ。

お題

コピーしたテキストの最終行の行末に改行があった場合、その改行を消してペーストしたい。

新規プラグイン

tool > new plugin でテンプレートが作れます。

{% highlight python %} import sublime, sublime_plugin

class ExampleCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.insert(edit, 0, "Hello, World!")

{% endhighlight %}

クリップボードの取得

sublime.get_clipboard()

でクリップボードのデータを取得できるみたい。 あとはpythonの正規表現で良い感じにする。

テキストの差し替え

command + v の処理を上書きするので、ペーストと同じ働きをさせたい。

self.view.insert

だと、挿入になってしまい、範囲選択した状態でペーストすると置換されなくなっちゃう。なので

self.view …

Continue reading