Spacemacsは良いぞ
開発者の皆さんはVSCode,Vim,Emacs,TeraPadなどのエディタを使って普段の開発を進めているかと思います.IDE? 知らない子ですねぇ……
その選択肢に,Spacemacsはいかがでしょう?
Vim + Emacs = Spacemacs なんて言われますが,Vimのコマンドキー,あるいはEmacsのM-xライクなSpaceを導入することで愉快な感じに仕上げてくれています.まあ,こんな記事を読む方々は私以上にこのあたりに詳しいかと思うのでVimの操作性+Emacsの自由な拡張性を持つエディタ(Emacsの設定集と考えるべきでは?)と思っていただければ良いかと.
.spacemacsとは
拡張性を持つということは何らかの方法で設定を行う必要があります.
Spacemacsの設定はテキストファイルです.当然のことながらEmacsと同様に設定はEmacs Lispです.設定と言いつつプログラムなのでとても自由です.最近流行りのVSCodeなんかはGUIでもろもろ設定できるんですかね(知らない).
設定ファイルは大抵(私調べ)デフォルトの配置があります..sshであれば~/.ssh,であるように,Spacemacsの設定は~/.spacemacsです.
.spacemacs.d とその構成
でもちょっと待ってください.単一のファイルだけで設定を完結させることってそんなに簡単じゃないですよね?
そんなときに便利なのが~/.spacemacs.dという名前でディレクトリを作成しその中に設定をまとめることです.
~/.spacemacsだったファイルは.spacemacs.d/init.elに変更しましょう.
参考までに,私の構成を以下に挙げます.
~/.spacemacs.d/
├── layers # 自作レイヤー
├── org-latex-classes # Org-ModeからLaTeXへの変換テンプレート
├── snippets # Yasnippetの追加スニペットファイル
└── templates # Yatemplateのテンプレートファイル
こうするとSpacemacsに関する設定が全て一つのディレクトリにまとまるのでgit管理がしやすいという利点が生まれます.便利.
便利を味わうためには
;; In dotspacemacs/additional-layers
(templates :variables
templates-private-directory "~/.spacemacs.d/templates")
;; In dotspacemacs/user-config
(add-to-list 'yas-snippet-dirs "~/.spacemacs.d/snippets")
のようにプラグインごとにディレクトリ名称を指定する必要が合ったりしますが.