この記事は2019年7月6日より、私のブログに移行しました。最新の情報はリンク先の記事をご覧ください。
https://www.bauhausify.com/人生のパートナーとなるテキストエディタSpacemacs!
以下の内容は2016年12月10日時点での内容です。
Index
なぜSpacemacs?
はじめまして、美大出身の奮闘中フロントエンドエンジニアです。 今回は、愛用しているエディタSpacemacsについて書きます。
emacsのよさ、ひいてはspacemacsの良さについて語りたいと思います。
- 無料。無料に勝るものはないですね
- かっこいい。玄人プログラマー感がでます。
- 高機能。IntellijIDEAとかXcodeとかVisualStudioに勝る機能がたくさんあります。特にorg-modeは神ツールです。
- Mac標準でemacsのキーに対応している。これはMac開発者にemacsユーザーが多いかららしいです。
- アート界隈の達人も使っています。Josh Nimoy さんです。映画 Tron: Legacy のあのかっこいい3D部分をガシガシコーディングで作った人です。
こんなにいいのに、みんな使わないのはなぜ? 理由は以下かと思います。
- 特殊なキーバインド習得すると、他のソフトで誤作動連発
- 各種設定、環境構築に時間がかかりすぎる、jsの環境整えようと思っただけで一苦労です。
1つめのデメリットはどうしようもないですね、慣れるしかないです。 そしてもう一つですが、これを解決してくれるのがSpacemacsです。
事前準備
インストール
基本的には 公式サイト に丁寧に書かれています。 以下の事前環境を前提に僕のインストールする場合を書いていきます。
$ brew tap d12frosted/emacs-plus
$ brew install emacs-plus --with-cocoa --with-spacemacs-icon
$ brew linkapps
しばらくするともう完了です。emacs-plusのオプションの説明は 作者のページ に書かれてます。
こんな感じのアイコンが追加されていれば完了です。未来感でてていいですね。
追記です。肝心のspacemacsの実体のインストール失念してましたねw
もし、すでにemacsを起動していたら以下を実行してください。
.emacs.dと.emacsというフォルダのバックアップを取っておきます。いらないという人は消してください。
cd ~
mv .emacs.d .emacs.d.bak
mv .emacs .emacs.bak
次にSpacemacsを落としてきます。
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
これで準備の完成です。emacsを起動して、初回のみコーヒーブレイクすると、そこにSpacemacsワールドが待っています。
簡単に補足すると、Spacemacsの実体はただの設定ファイルだけです。init.elをより拡張したようなイメージですね。
ベースとなるemacsはGNUEmacsであればなんでもOKだと思います。
個人的なおすすめ設定
正直まだ僕はemacs使い始めて1年ぐらいの素人です。しかもメモツールのみの用途です。 ゆくゆくはemacsでがしがし仕事したいと思ってます。
そんな未熟者のinitファイルですが、紹介します。
まず、インストールしているパッケージです。
colors
helm
auto-completion
better-defaults
emacs-lisp
git
markdown
org
osx
html
javascript
plantuml
react
cscope
gtags
こんな感じです。これは$HOME/.spacemacs のdotspacemacs-configuration-layersの章に直接コピペすればインストールしてくれます。 すべてspacemacsが用意した便利環境です。
次は、spacemacs関係ない他のパッケージです。
bind-key
quickrun
point-undo
migemo
impatient-mode
ace-isearch
ox-gfm
codic
all-the-icons
all-the-icons-dired
これはdotspacemacs-additional-packagesの章にコピペしてください。 あと、フォントは Myrica を使っています。 インストールして、dotspacemacs/user-config()の章に
(set-default-font "Myrica M-14")
を追加すると完了です。 .spacemacsのinit.elに該当するdotspacemacs/user-donfig() に関しては、非常に長く、また未熟者で恥ずかしいので後日公開します。
ご清聴ありがとうございます。
※ちなみに、この記事もemacsのorg-modeで書いています。