sublime_text_01

テキストエディタ戦争

 今年の1月の「新春特別企画! 僕の“どうしてもこれだけは手放せない”Macアプリ13個!」でも紹介したとおり、筆者は今まで『mi』というテキストエディタを使っていました。

mi
mi

 この『mi』、LaTeXをショートカットキーでコンパイルできるなど、機能面で大きな不満はなかったのですが、UIがあまりMacっぽくなく、使っていてちょっと違和感を感じることがありました。また、テキストの形式が全て“mi テキスト書類”となってしまって分かりにくいってのもありました。バージョン3になってUIも変わって洗練された感じもありましたが、まだちょっとしっくりこないところもありました。

 とまあそんなこんなで「いいエディターはないかなー」と探していたところ、とあるテキストエディタを教えてもらい試しに使ってみるとめちゃくちゃ使いやすかったので一瞬で乗り換えてしまいました。という訳で今回はそんな素敵なエディタ『Sublime Text』についてのお話です。

美しすぎるテキストエディタ『Sublime Text』

 『Sublime Text』は高機能なタブテキストエディタで、Mac用とWindows用があります。どちらも使用感などはだいたい同じです。特筆すべきはUIの美しさで、タブの形式やミニマップ、command+option+2による画面の分割など、見た目の良さと使用感が繋がっていて、使っていて非常に捗ります。アプリの見た目の良さはそのまま使いやすさに繋がるというのがよく分かるアプリです。配色も変更できるようですが、筆者は初期配色が気に入っているのでそのまま使っています。command+Dでの同じ文字列を検索・同時編集機能もとても便利で、また、様々な言語に対応しています。その他、テキストエディタとして必要な機能をだいたい持っています。

 このアプリ、ライセンス登録は有料ですが、登録しなくてもときどきポップアップが出るだけなので、ずっと無料で使い続けることができます。ライセンスは一つ70ドルです。

 それと、バージョン3がβ版として配布されているそうです。筆者はバージョン2のままでも特に問題はないので使っていませんが、正式リリースされたら使おうと思います。

 なお、今回紹介する設定などはすべてMac環境を想定していますので、あらかじめご了承ください。

個人的におすすめの設定

 このアプリの特徴として、いろいろな設定をユーザー側でかなり自由に設定することができます。設定ファイルはテキスト形式になっていて、記述を加える事によって設定を変更できます。メニューバーの“Sublime Text 2”→“Preferences”→“Settings - User”(もしくはキーボードショートカットcommand+,)で設定ファイルの“Preferences.sublime-settings”が開きます。

 この設定については、検索とかすればいろいろ見つかるのでここでは片っ端から挙げたりはしません。ここでは、筆者が使っている便利そうな設定を紹介したいと思います。筆者の設定ファイルは今は以下のようになっています。ちなみにファイルの保存はcommand+Sでできます。

{
	"font_face": "Osaka-等幅",
	"font_size": 15.0,
	"highlight_modified_tabs": true,
	"open_files_in_new_window": false,
	"scroll_past_end": true,
	"word_wrap": true
}

 各設定の内容は以下のとおりです。

font_face テキストのフォントの種類を指定します。
font_size テキストのフォントのサイズを指定します。
highlight_modified_tabs “true”にすると、内容が変更されて保存されていないタブがオレンジ色になります。
open_files_in_new_window “false”にすると、新しいファイルを開くときに、新しいウインドウではなく、今使っているウインドウに新しいタブで開かれます。
scroll_past_end “true”にすると、テキストの最後の行を超えてスクロールできるようになります。
word_wrap “true”にすると、画面端で改行されます。

 設定がテキストファイル形式で保存されるメリットの一つに、クラウドサービスでファイルを同期することにより、どの端末でも同じ設定で使えるという点があります。筆者は『SugarSync』を使って、設定ファイルの入ったフォルダを同期しています。『Finder』を開き、メニューバーの“移動”→“フォルダへ移動”を選択、“/ユーザ/【ユーザ名】/Library/Application Support/Sublime Text 2/Packages”と入力し、設定ファイルが置かれているフォルダに移動します。その中の“User”というフォルダに先ほどの設定ファイルが入っているので、設定を同期したい方はこのフォルダを同期しましょう。

 それと、意図しないキーボードショートカットが働いてしまうことがあります。その際には、先ほどのメニューバーの“Preferences”の“Keybindings - Default”から設定を変えましょう。筆者は『Googole 日本語入力』とかち合ってしまう以下の部分をコメントアウトしています。93-99行目の

{ "keys": ["tab"], "command": "insert_best_completion", "args": {"default": "\t", "exact": true} },
{ "keys": ["tab"], "command": "insert_best_completion", "args": {"default": "\t", "exact": false},
	"context":
	[
		{ "key": "setting.tab_completion", "operator": "equal", "operand": true }
	]
},

と、619行目の

{ "keys": ["ctrl+k"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete to Hard EOL.sublime-macro"} },

と、621行目の

{ "keys": ["ctrl+o"], "command": "insert_snippet", "args": { "contents": "$0\n" } },

を、コメントアウトしています。行頭に「//」を入れることでコメントアウトになります。また、なにかキーボードショートカットを追加したい時は、“Keybindings - User”に追加するようにしましょう。

LaTeXをコンパイルしよう

 『mi』の便利な機能の一つに、キーボードショートカットでLaTeXをコンパイル&プレビューできるというのがあります。『Sublime Text』でも設定を変更して、LaTeXをコンパイルしてみましょう。ここでは、『Kitchen Garden Blog』さんのエントリから、『Sublime Text』で行う設定を抜き出します。まだMacにLaTeX環境を入れていない人は、『MacTeX』とかからインストールしておきましょう。

 まず、“Package Control”をインストールします。control+`(もしくはメニューバーの“View”→“Show Console”)で画面下にコンソールが開かれるので、そこに以下のように入力します。コピペで大丈夫です。

import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())

 入力し終えたらenterを押し、アプリを再起動します。次にcommand+shift+Pでコマンドパレットを開き、“Package Control: Install Package”を選択します。

sublime_text_02

 そしてその中から“LaTeXTools”を選択し、インストールします。

sublime_text_03

 インストールが終わったら、先ほど書いた方法で、『Finder』で設定ファイルの置いてある“Packages”フォルダに移動し、その中の“LaTeXTools”フォルダに入ってある“LaTeX.sublime-build”というファイルを開きます。そして、ファイルの中身を書き換えます。

"cmd": ["latexmk", "-cd",
	"-e", "\\$pdflatex = 'pdflatex %O -interaction=nonstopmode -synctex=1 %S'",
	//"-silent",
	"-f", "-pdf"],

 この部分が見つかったら、そこを以下のように置き換えます。

"cmd": ["latexmk", "-cd", "-f", "-pv"],

 このファイルは、“LaTeXTools”のアップデート毎に元に戻ってしまうので、後で「コンパイルできねー」ってなったら、まずここを確認してみてください。

 そして、自分のホームフォルダに“.latexmkrc”というテキストファイルを作ります。拡張子は要りません。また、最初のコロンを忘れてはいけません。『Sublime Text』でcommand+Nで新しいテキスト書類が作れるので、それで作るといいでしょう。ファイルの中身はこんな感じにします。

$latex ="platex -synctex=1 -src-specials -interaction=nonstopmode";
$bibtex = "jbibtex %O %B";
$dvipdf = "dvipdfmx -p a4 %O %S";
$pdf_mode = 3;
$pdf_previewer = "open -a Preview.app";

 ただし、ここは各ユーザーごとの好みや仕様もあると思うので、適宜編集して使いやすくするのがいいと思います。特に“bibtex”や“dvipdf ”の設定とかですね。筆者は前にPDFを見るのに『プレビュー』以外を使っていたので、“pdf_previewer”のところを変更していました。ともあれ、これで、command+Bでコンパイルできるようになりました。

おわりに

 という訳で『Sublime Text』の使い方を、触りの部分だけですが、紹介させて頂きました。まだ筆者もこのエディタの魅力を引き出し切れているとは言い難いですし、まだまだ設定をいじっている途中ですが、その過程もとても楽しいです。使っていて気持ちの良いエディタは初めてですね。このエントリを読んで、一人でも多くの人にこの気持ち良さを体感してもらえれば嬉しいです。