2016年4月28日木曜日

Atomのスニペットにバックスラッシュを入れる方法

いつものことながら前置きが長くなってしまったので、結論を先に書きます。
「\\\\」ってやるといいよ。

では、以下本文。

-----

皆さん、エディタは何を使ってますか?
私は普段かなりマイナーなエディタを使ってるんですが、マイナー過ぎてエディタの話をしても誰とも打ち解けられないことが多々あります。家で一人でコーディングしてる分にはまぁそれでもいいんですが、職場で浮くのはちょっと嫌なのでメジャーどころのエディタを押さえようと、最近はAtomに手を出しています。
今までも何度かAtomを使おうとしてきたんですが、致命的な弱点があってどうしても移行には踏みきれませんでした。それは、動作が超重いこと。エディタ内の検索をしただけで数秒、ファイルを開こうとしてもさらに数秒。やってられっかってなもんです。

特に最近は職場のサーバーを海外のクラウドに移行したからか、ものごっつ遅かったんですよね。
昨今の開発環境といえばローカルで開発してからGitでデプロイ的な感じが主流かもしれませんが、世の中には諸事情でサーバーを直接マウントして開発しなきゃいけない人もいます。いるったらいるんです。異論は認めません。なので、サーバーの場所が遠いとけっこう致命的なわけで。

と、今までずっとそんな感じだったんですが、最近Atomがバージョンアップしたようなので試してみたら、速度が超改善されてました。
メモリは相変わらず割と食うんですが、何かするたびに待たされるってことは無くなった感じです。
なので、今後はAtomをメインで使っていこうかなと。

で、快適な入力環境を目指してキーバインディングの設定を済ませ、今度はスニペットの登録…という段階で問題が発生。
スニペットの中に「\n」って入れたかったんですが、登録してスニペットを呼び出してみると、スニペットが勝手に改行されてしまう始末。ならばと「\\n」ってやってみたら、今度は"n"しか表示されない。。
うむぅと唸りつつ、「\\\n」ってやってみたら、これもダメ。心が折れそうになりつつもググったら、GitHubのQ&Aで『「\\\\n」って書いたらできるよ』って書いててあっさり解決しました。

以上。

って切り上げてもいいんですが、スニペット書くときにもそこそこググったので、せっかくなのでスニペットの登録方法もまとめておきます。

  • スニペットに登録したいコードを選択して、Ctrl+Shift+Alt+P(Macだとoption+cmd+P)を押すと"source.python"とか"source.coffee"とかそういうのが表示されるのでメモ
  • Ctrl+Shift+Pでコマンドパレットを出してsnippetと入力、snippets.csonを表示(メニューバーからでも出せるけど)
  • 表示されたsnippets.csonのコメント行のコードを参考に、スニペットを作成して保存
ちなみにPythonだとこうなる。

'.source.python':
  'snippet_name':
    'prefix': 'mysnippet'
    'body': 'print "hello \\\\n world"'

※さっきのsource.pythonってところをスニペットに記入するときには「.source.python」って感じで頭にドットを付けるのを忘れないこと。

これで、Pythonファイルで"mys"くらいまでタイプすると自動補完で「print "hello \\\\n world"」に展開してくれる。
便利。

ちなみに何でAtomを選んだかというと、現在公開中のエンジニア交流SlackでAtom使ってるって方がいたから。非常に単純な理由ですが、こういう情報交換って大事ですよね。
というわけで、興味を持った方がいらっしゃいましたらこちらのフォームにご記入ください。
メールアドレスだけで簡単に参加できます!よろしくお願いします。