Posted at

Emacsの各パッケージ(or 機能)に相当するAtomのパッケージ

More than 1 year has passed since last update.


はじめに

Emacsのヘビーユーザーですがなんとなく気分を変えたくてAtomを触ってみたのでその時の設定備忘録です.

筆者はAtom超初心者ですので間違い等ございましたらご指摘ください.


キーバインド関連

これだけでほぼAtomがEmacs化します.ただし,C-kがAtomではプレフィックスに設定されてしまっているのでこれを無効化します.

設定画面でExcept Community Packagesemacs-plus, atomic-emacsを追加,Prefix Keysctrl-kを追加します.

これ以降,あらゆるパッケージのキーバインドが無効になるのでパッケージを追加するたびに~/.atom/keymap.csonに設定を追加します.


dired, neotree

Atomにはデフォルトでneotree風のtree-viewなるパッケージが入っています.ただしneotreeでは開くたびに編集中のファイルがあるフォルダのツリーを表示するのに対してtree-viewでは明示的に追加したプロジェクトのツリーしか表示されません.

これを解決するのがauto-projectで,これでほぼneotreeと同様の機能となります.呼び出し用のホットキーは好みのものを~/.atom/keymap.csonに追加.以下の例ではC-\をホットキーに設定してます.


~/.atom/keymap.cson

'body':

'ctrl-\\': 'tree-view:toggle'


shell-pop

同様のものが幾つかあるので好みのもの,もしくは環境でしっかり動作するものを選びましょう.Emacs上のシェルはeshellにしろansi-termにしろ常用するには色々厳しかったですがplatformio-ide-terminalは完全なターミナルエミュレータであり普通のターミナルとしてしっかり使えます.ホットキーの設定を忘れずに.


isearch

Atomにはもちろんデフォルトでサーチ機能があるがEmacsユーザー的にはごてごてし過ぎなので好みで同パッケージを入れるといいです.例えば以下のようなキー設定をすると良いでしょう.


~/.atom/keymap.cson

'.platform-win32 atom-workspace atom-text-editor:not(.mini), .platform-linux atom-workspace atom-text-editor:not(.mini)':

'ctrl-s': 'incremental-search:forward'

'.platform-win32 atom-workspace .isearch atom-text-editor, .platform-linux atom-workspace .isearch atom-text-editor':
'ctrl-s': 'incremental-search:forward'



quickrun

特に説明はなくquickrunと同様です.設定画面のDefault Current Working Directory(CWD) BehaviorDirectory of the scriptにしておきましょう.

ほぼすべてと言って良い言語に対応しており,Hyも動かせるのがGood.


hl-line

特に説明はなし.


py-yapf, その他各コードフォーマッター

コード整形ツール.HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQLなどなどが整形できます.

保存時に実行する場合は設定画面のGeneralBeautify Entire File On Saveにチェックを入れておきます.


その他

Atomはファイルを開くとタブがたくさん出来て鬱陶しいので好みで入れる.任意のホットキーを設定しておけばタブを表示したり非表示にしたりできます.

例えばF1をホットキーにするなら以下のような設定を~/.atom/keymap.csonに追加します.


~/.atom/keymap.cson

'body':

'f1': 'atom-hide-tabs:toggle'


おわりに

Atomをはじめて使って見ましたが結構Emacsの代替として機能しそうな感じです.TUIでのEmacsの置き換えにはなりませんがGUIならEmacsと十分並んでいると思います.

Windows環境ならEmacsよりも全然アリかと思います.