Sublime Text Tips 2. コンソールで使用できる変数
Sublime Text 2はPython処理系を内蔵しており、シェルでpythonを起動したときのインタラクティブシェルのような、対話的な実行環境が利用できます。
コンソールを表示するには、メニューから View→Show Console を選択します。
コンソールではあらかじめ幾つかのモジュールがインポートされていたり、グローバル変数が設定されています。
使える物の一覧は、「globals().keys()」で表示できます。コンソールで入力してみると、以下のように表示されます。
>>> globals().keys() ['zipimport', '__builtins__', '__package__', 'sys', 'window', 'sublimelog', 'uzipimporter', 'LogWriter', '__name__', 'os', '__doc__', 'sublime', 'view']
つまり、あらかじめ以下のようにインポートされた状態になっています。
import zipimport import os import sys import sublime import sublimelog # 詳細不明
また、viewとwindow変数が利用できます。viewは sublime.View クラス、 windowは sublime.Window クラスのインスタンスです。これらのクラスの詳細は API Reference - Sublime Text 2 Documentation を参照してください。
uzipimporterとLogWriterはよくわかりません。
viewとwindowには現在のビュー(タブ)とウィンドウに対応するインスタンスが設定されていて、ビューやウィンドウを切り替えると、この変数の内容も変わります。
特に重要なのはview変数です。Sublime Text 2のプラグイン作成では sublime.View クラスを使用して、カーソル位置を変更したり、テキスト内容を変更したりします。view変数が使えるため、実行しようとしているコード片をコンソールで気軽に実行することができます。
例えば、view.sel() は現在のカーソル位置、選択位置を返します。カーソルを移動してからコンソールに移って view.sel() を実行してみてください。カーソル位置により結果が変わってくることがわかると思います。カーソル位置は、簡単に言うとファイルの先頭からの文字数で表わされるんですが、詳細はまた別の記事で書こうと思います。