最近は主にPython開発環境を使って編集する際にSublinme Text 2を使うことが多くなりました この記事では主にPythonプログラマが便利になる設定や調整について解説します。
なぜ Sublime Text を選ぶのですか?
私は常に TextMate の忠実なユーザーです。これは軽量のオープンソース ソフトウェアで、Mac のような優れた操作性を備えたネイティブ OS X アプリケーションとして動作します。ただし、TextMate は優れたエディターですが、機能が欠けている場合があります。
Python プラグインを備えた IntelliJ IDEA など、より強力なソフトウェアをいくつか使用しました。 特にデバッガとテストランナーが気に入っています。ただし、IntelliJ のようなフル機能の IDE は、中小規模のプロジェクトにはまだ大きすぎます。
ここ数週間、私は Sublime Text をますます使い始めています。取り付けてみたら、本当にいい感じでした。非常に高速で、自動的かつ定期的に更新され、そして何よりも完全にクロスプラットフォームです。私にとって、最終的に TextMate に勝るのは Sublime の強力なプラグイン サブシステムです。 Python 開発には、開発をよりスムーズで楽しいものにするプラグインが多数あります。
私は今でもプロジェクトごとに編集者を切り替えています。ただし、Python 開発の場合、Sublime は軽量エディターとフル機能の IDE の間でバランスが取れていることがわかりました。
フォントの選択
Ubuntu Mono は、非常に優れたフォントです。数日前にMenloから切り替えたばかりですが、後悔はしていません。
私の 15 インチ MacBook では、Ubuntu Mono の 16 ポイントのフォントが完璧にフィットします。 1680 × 1050 の解像度は、サイドバーと 2 つのエディタ ウィンドウ (80 文字幅に自動的に調整されます) にちょうど適しています。
フォントを慎重に選ぶつもりなら、slant.co のこの記事がよく書かれています。最も人気のあるプログラミング フォントのスクリーンショットとダウンロード リンクが含まれています。
プラグインをインストールする
前に述べたように、Sublime には非常に豊富なプラグイン システムがあります。現在使用しているプラグインは次のとおりです:
Package Control は、追加のプラグインを Sublime に直接インストールするパッケージ マネージャーです。これは手動でインストールする必要がある唯一のプラグインです。ここにリストされている他のプラグインはすべて、Package Control 経由でインストールできます。これを使用して、インストールされているプラグインを更新することもできます。 Sublime パッケージの場合は apt-get と同じくらい簡単です。
カラー スキーム - Tomorrow Night カラー スキームは、エディター インターフェイスでの構文強調表示のフォントの色を決定します。とてもクールなダークスタイルです。
テーマ - ソーダダークテーマは、Sublimeインターフェース要素の色とスタイルに影響します。明日の夜にぴったりの配色です。
SideBarEnhancements このプラグインは、「新しいファイル」、「新しいフロダー」など、サイドバーに追加のコンテキスト メニュー オプションを提供します。これらはデフォルトで存在するはずですが、存在しません。
すべてのオートコンプリート Sublime のデフォルトのオートコンプリートは、現在のファイル内の単語のみに焦点を当てます。このプラグインは、オートコンプリートの単語リストを開いているすべてのファイルに拡張します。
SublimeCodeIntel は、Python を含む一部の言語のオートコンプリート機能を強化します。このプラグインでは、alt キーを押しながらシンボルをクリックすると、シンボルが定義されている場所にジャンプすることもできます。とても便利。
SublimeREPL を使用すると、編集インターフェイスで Python インタープリターを直接実行できます。私は bpython を別のターミナル ウィンドウで実行することを好みますが、SublimeREPL が役立つ場合もあります。
GitGutter Git によると、エディターのグルーブ領域には、行が挿入、変更、または削除されたかどうかを示す小さなアイコンが追加されます。 GitGutter Readme には、カラー アイコンを変更してカラー スキーム ファイルを更新する方法が説明されています。
Pylinter このプラグインは、これまでに見た中で最高の pylint エディター統合を提供します。 .py ファイルが保存されるたびに自動的にチェックされ、編集インターフェイスに pylint 違反が直接表示されます。 #pylint: disable コメントを挿入してローカルの pylint チェックを無効にするショートカットもあります。このプラグインは私にとって本当に便利です。
設定ファイル
Sublime Text の利点の 1 つは、そのすべての設定がシンプルな JSON ベースの設定ファイルであることです。これにより、構成を別のシステムに簡単に転送できます。また、Dropbox を使用してすべてのコンピュータ間で設定を自動的に同期している人も見かけました。
Preferences.sublime-settings は、Sublimede の表示と動作を設定します。このファイルは、[設定] > [設定] - [ユーザー] から開くことができます。次の構成を使用して pylinter プラグインを構成しました:
{ // Colors "color_scheme": "Packages/Tomorrow Color Schemes/Tomorrow-Night.tmTheme", "theme": "Soda Dark.sublime-theme", // Font "font_face": "Ubuntu Mono", "font_size": 16.0, "font_options": ["subpixel_antialias", "no_bold"], "line_padding_bottom": 0, "line_padding_top": 0, // Cursor style - no blinking and slightly wider than default "caret_style": "solid", "wide_caret": true, // Editor view look-and-feel "draw_white_space": "all", "fold_buttons": false, "highlight_line": true, "auto_complete": false, "show_minimap": false, // Editor behavior "scroll_past_end": false, "highlight_modified_tabs": true, "find_selected_text": true, // Word wrapping - follow PEP 8 recommendations "rulers": [ 72, 79 ], "word_wrap": true, "wrap_width": 80, // Whitespace - no tabs, trimming, end files with \n "tab_size": 4, "translate_tabs_to_spaces": true, "trim_trailing_white_space_on_save": true, "ensure_newline_at_eof_on_save": true, // Sidebar - exclude distracting files and folders "file_exclude_patterns": [ ".DS_Store", "*.pid", "*.pyc" ], "folder_exclude_patterns": [ ".git", "__pycache__", "env", "env3" ] }
Pylinter.sublime-settings。次の設定を使用して、保存時に Python が自動的に正規化して、違反のアイコンを表示します。
{ // Configure pylint's behavior "pylint_rc": "/Users/daniel/dev/pylintrc", // Show different icons for errors, warnings, etc. "use_icons": true, // Automatically run Pylinter when saving a Python document "run_on_save": true, // Don't hide pylint messages when moving the cursor "message_stay": true }
キーバインディング
Sublimeのキーバインディングも、JSONベースのsublime-keymap設定ファイルに基づいて完全に設定可能です。 TextMate / IntelliJ の筋肉の記憶に合わせてデフォルト設定の一部を変更しました。まったく変更する必要はありません。変更は簡単で、必要に応じてクロスプラットフォームで使用できます。私は次のバインディングを使用します:
[ // Rebind "go to file" to cmd+shift+O { "keys": ["super+shift+o"], "command": "show_overlay", "args": { "overlay": "goto", "show_files": true }}, // Rebind swap line up/down to cmd+shift+up/down { "keys": ["super+shift+up"], "command": "swap_line_up" }, { "keys": ["super+shift+down"], "command": "swap_line_down" }, // Delete a line with cmd+delete { "keys": ["super+backspace"], "command": "run_macro_file", "args": { "file": "Packages/Default/Delete Line.sublime-macro" }}, // Reindent selection with cmd+alt+L { "keys": ["super+alt+l"], "command": "reindent"} ]
コマンド ライン ツール
TextMate の仲間と同様に、Sublime Text にはシェルを通じてエディターを開くことができるコマンド ライン ツールが含まれています。このツールは sublis と呼ばれ、デフォルトでは使用できません。これを有効にするには、任意のシェルで次のコマンドを実行します:
ln -s /Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
Sublime を git として使用するには対話型コマンド デフォルトのエディターを使用するには、たとえば、コミットメッセージを書き込むには、次の行を ~/.profile ファイルに追加するだけです:
export GIT_EDITOR="subl --wait --new-window"