概要

ひとつのエディタに習熟すること
ひとつのエディタを知り尽くし、プレーンテキストをいじるプロになれ

(2017-10-28)Andrew Hunt and David Thomas『達人プログラマー』 より

これはエディタの極意のひとつだ。緑さんにとってそのエディタが Sublime Text3 である。これまでいくつか subl ちゃんの記事は書いているけれど、何本かは期限切れになっている。今回は最新版の subl 記事を書く。

 

これまでの subl 記事

 

初期設定

 

いろはのい

インストール。

  • 公式サイト(https://www.sublimetext.com/3)でダウンロード、インストール。
  • 以前は Package Control をインストールするのに面倒くさい手順が必要だったけれど、今は必要ない。 ⌘ + Shift + P でコマンドパレットを開き、 Install Package Control しよう。お前がいなきゃはじまらねえ。
  • 好きな packages を入れたい放題入れる。
  • Package: Sync Settings もすかさず入れて、 GitHub へ設定をバックアップする。

 

いろはのろ

キーバインドの調整。

  • ⌘ + Shift + P でコマンドパレットを開き、 Key Bindings を開く。ユーザ設定を編集する。
  • 検索欄の「次へ」ショートカットを ⌘ + Enter にする。
  • Ctrl+K によるカタカナ変換を有効にする。(というよりカタカナ変換を上書きしているショートカットを無効化する。)
// Find panel key bindings
// Replace panel key bindings
// Incremental find panel key bindings
// 以上のショートカットを enter から command+enter にする。

// ctrl+k のところをコメントアウト。
  • あと、最初にどうやって編集したかもう忘れてしまったのだけど、 Table Editor package のショートカットにもいくつか Ctrl+K が含まれている。まとめて無効化。

 

いろはのは

よく使うフォルダの登録。

  • ProjectManager package によって ⌘ + P で一発検索を行いたいフォルダを subl にドラッグ。
  • 以降、よく使うファイル(ノートやリマインダー)はフォルダを一度も開かなくてよくなる。一日に換算すると、相当数のクリックが減らせるはず。

 

使う packages

Sublime Text 記事を書くなら、マイ・パッケージ・リストを公開せねばなるまい。パッケージ一覧は ⌘ + Shift + P -> List Packages で見る。

  • auto-save: S 級必須パッケ。ファイルの自動保存。2021年の人間は Ctrl+S を押さない。
  • ColorPicker: B 級必須パッケ。その場でカラーピッカーを出し、色の16進数を出してくれる。
  • Increment Selection: S 級必須パッケ。数字を自動でインクリメント。
  • Markdown Extended: S 級必須パッケ。 Markdown の syntax highlight。デフォルトの Markdown だとコードフェンスの syntax highlight に一部不具合がある。
  • OmniMarkupPreviewer: S 級必須パッケ。 Markdown をブラウザでリアルタイムプレビューしてくれる。
  • Pretty JSON: B 級必須パッケ。 Json 文字列をみやすく改行してくれる。
  • ProjectManager: S 級必須パッケ。これにより複数フォルダを subl に紐付け、イチイチフォルダを開かなくても、一発でファイルを開ける。
  • Sync Settings: 特 S 級必須パッケ。設定同期のない世界では生きられない。
  • Table Editor: S 級必須パッケ。 Markdown のテーブルを自動フォーマットしてくれる。
  • Theme - Nexus: 個人的特 S 級必須パッケ。6年間慣れ親しんだ、母のような父のようなカラーテーマ。

 

Sublime Text ではプログラムは書かない

この結論にたどり着くまでどれだけかかっただろうか。緑さんの結論はこうだ。プログラムは Visual Studio Code で書く。ノートは Sublime Text で書く。 VSCode はプログラムを書くツールとして優秀すぎる。なかでも、エディタ内でコンソールを開く機能は、 subl には無くてデカイ。

Python をはじめた当初は、コンソールを別窓で開いて Python を実行せずとも、エディタ上の「ビルド」機能でスクリプトが実行できることに感動していた。 だけれど、スクリプトの実行はコンソール上が一番だ。 subl のビルド機能を使っていたのは「わざわざコンソールを開く(ウィンドウを一枚増やす)のが面倒」だからである。コンソールをエディタ上で開ける VSCode は単純に上位互換だ。

ではなぜノートも VSCode で書かないのか? それはウィンドウ切り替えがラクだからだ。 Mac には、「別アプリの切り替え」と「同アプリ別ウィンドウの切り替え」の2種類のショートカットという禿げ上がるほど便利な機能が用意されている。 Python もノートも同じ VSCode で書いていると、次のような事態が起こりうる。

Python を書いているとき、ノートを見たくなる。
「同アプリ別ウィンドウの切り替え」ショートカットを押す。
また別の Python を書いている VSCode が開いてしまった。
やれやれ、もう一度ショートカットを押すか……しかし直前に開いていたウィンドウが出てくる仕様なので、ノートを開くには2度連打しないといけないな……

Troublesome!! また別の事態も発生しうる。

↑なーんてことがイヤだから、 Mission Control でウィンドウを切り替えよう! マウス操作の面倒は出てくるけどね!
Mission Control を開く。そこには複数の VSCode ウィンドウが小さく表示されている。
えーっと……どれが Python でどれがノートだ……?

Troublesome!!

しかし Python とノートがアプリ単位で分かれていればラクだ。第一事例は「『別アプリの切り替え』ショートカットを押す」で解消され、第二事例は「アプリが違うから見た目で紛らわしいなんてことはナイ」ということで解消される。以下が完璧な布陣である。

 

Sublime Text を6年使った Sublime 愛好家はなぜ Sublime を使うのか

というわけで、いまや subl は「機能的に優れているから使うエディタ」ではなく、「慣れ親しんでいて、プレーンテキスト操作をするのに十分な機能を持っているから使うエディタ」である。ひとにすすめる対象でもなくなっている。ひとにすすめるのは VSCode だ。なんらかの理由で VSCode のほかにエディタがほしい場合に、 subl はすすめられる。