自分は現状このファイルを触ってるだけで事足りています。dotspacemacs-configuration-layersある意味この設定が一番、Spacemacsの特徴ということになるかもしれません。いうシステムを作っています。これは各機能をそれぞれまとめてるプラグインみたいなものです。あり、その中に色々なelispのインストールや設定なんかが書いてあります。このセクションで設定するだけで、そのプログラミング言語や機能の一通りの便利設定が使えるという事になります。これがまあすごく便利です。今までVimなんかでも新しいプログラミング言語のプラグインを使おうとするとプラグインを導入するのはもちろんのこと、neocompleteとの連携なんかも考えてあげたりする必要があったり、1つのプラグインだけでカバーできない機能は他のプラグインを見つけなきゃいけなかったりしましたが、Spacemacsはその点がものすごく楽です。いうのはVimでいうタブにあたる機能を提供してくれます。使い勝手は若干違いますけども、自分の運用ではとても重宝してます。このためだけにEmacs使ってるって人を何人か見てましたが、マジで便利だわ。Macで使うときの便利機能が入ってました。それ系のキーを使えるようにできたり。使うとGistの編集や投稿なんかや、編集しているファイルのGitHubのリンクを取得したりできます。プログラミング言語系emacs-lispmarkdownthemes-megapackshelljavascriptgoelixirrubyhaskellhtmlocamlpythoncommon-lisptypescriptyamlclojurevimscriptreactruby-on-railsansibledockerfileこんな感じです。勉強中のとか仕事で使ってるのとか系のは大体入れてあります。「あ、これが足りない...」みたいのはまだ起きてないですね。便利なんですが、他に入れたいプラグインとかがあったらこのセクションで設定してあげるようです。editorconfigddskkquickrunこれしか入れてません...。今のところこれで十分でした。無いと日本語の入力ができないくらいに依存してるんですが、他もVimで使ってたのでという感じです。migemoは入れようかとも思ったんですが、Vimでインストールしてたけど使用頻度が少なかったなーということで入れてません。入ってるというものです。入ってたました...。プラグイン入ってます。()大体の自分の設定はこの関数の中に書くようです。入れたプラグインの設定がメインになっています。markdownのプレビューにMarked2っていうアプリ使うのとかくらい。いう設定なんですが、この設定を入れておかないと、他のアプリでコピーしたものを、Emacsにビジュアルモードを使って選択した部分にペーストした場合に変な挙動になってしまいます。(Emacs内でyankしたものが貼られてしまう)この設定を入れておくとちゃんとヴィジュアルモードで選択しても意図したペーストになります。まとめ設定ファイルに関しては、.vimrcが920行くらいある自分の状態から考えるとすごくすっきりしました。Spacemacsに移行する際に自分の中で機能とかの意識的な斷舎離したっていうも、もちろん大きいんですが。この位の設定でさくっと使えるので、Spacemacs良いです。Spacemacs前回のエントリにも書いたんだけども、Sapcemacsの情報がわりと少ないです。グリム童話のコウモリみたいなポジションなんで、しょうがない部分もありつつ...。そんななか今まで参考にしてきた情報源をちょっとずつピックアップしていきます。Spacemacsのリポジトリなんだかんだと一番参考にしてるかも。documentationが良い感じです。入力することによって、オンラインドキュメントが引けます。上記のドキュメントなんかもorg形式で読めたりしますし、新しいLayerを使うときにはそのREADMEなんかもHELMで検索することができて便利。Hicksさんが運営してるTipsのブログ。PRしたりしても載るらしい。今気になってるのはこのメディアの持続可能性についてです...火曜木曜に更新!みたいなこと書いてるけど、1ヶ月くらい何の音沙汰もないというね...。IssueとかPRは来てるんで、本人忙しいんですかね。リンクにしてるので、こちらも良ければ見てください。いうことで、現状少ないのですが、Spacemacsの情報です。公式のドキュメントが充実してるのが救いです。QiitaにもSpacemacsのタグ付いた記事2つしかないというね...。あとこのドキュメントはEmacsのorg-modeで書いて、MarkdownにPandoc使って変換しました。Emacsなんで、ちょっと慣れておこう。Vim6年間ずーっとVimを使ってきましたが、今のところ完璧に乗りかえられた。EmacsというよりかはSpacemacsがすごく良い。発端Spacemacs自体は2014年にGithubのTrendingで見かけて気にはなってStarはしていたけど、そのまま忘れてた。Qiitaという記事を見かけて「あ、そういえばあったな」って思いだした。これ読んで改めて便利そうだなと思ったので。Vim!って書いてるんだけど、マジでこの通りだなと思った。調べるとわりとみなさん、Emacsとして使ってる人が多数派っぽいんだけどもマジでVimから乗り換えできる感じ。機能的には上記のQiitaの記事などをご覧いただくとして、ここでは自分が良いなーと思った点をいくつか。貳佰伍拾陸夜日記のシリーズを参考にしてEvilを導入したEmacsを使おうとしたことがあった。最初は「マジでキーバインドがVimと遜色ないわこれ...!」と感動したんだけど、それはそもそもテキストの編集だけだったので、例えばEmacsでGitを扱う場合に使うMagitとかを使う場合にはEmacs流のキーバインドで操作しなければいけなかった。これが不満だったので、途中で導入をあきらめた。自分でフックを作ったりしてキーバインドを設定したりしてあげれば大丈夫なんだけど、そもそも大昔(7年前くらい?)に3年間使ってたEmacsを使おうとするとまあバージョンも新しいから昔の知識なんぞ役に立たないし、そもそも覚えてないってことで挫折していた。Spacemacsのとても優れている点はそこら辺の違和感を無くすような工夫がしてある点だと思う。いうことかというと、Spacemacsを使う際にはLeaderキーとして<Space>が割り当てられているのだが、この使い勝手がものすごく良いからだ。gで呼び出せるようになる。リアルタイムに押したキーに対応してどのキーが何の機能を呼び出すのかを教えてくれるという親切設計。上記のキーバインドもGitのgとして覚えれば覚えやすい。公式サイトにMnemonicって書いてるけどその通りだと思う。このEmacsでも(正確に言えば)Vimでも無い独自かつ一貫性のあるコマンド体系で、コマンド入力が全く苦ではなくなるのがすばらしい。大体のコマンドはこの<Space>からのキーを押すだけで使うことが可能。言語別にプラグインをまとめて設定してくれてる自分のような門外漢がEmacsで開発しようとしたときの高いハードルとしてこの言語ではどんなモードを組み合わせれば良いのか分からないというのがあった。JavaScriptで具体的に書くと、そもそもEmacsでJavaScriptを使おうとすると4つほどメジャーモードがあるっぽいというのがググって出てくるjs-modejs2-modejs3-modeweb-modeで、情報の探し方がイマイチ分からなくて何が良いのかちょっと分からん...ってことになる。大体はjs2-modeか、web-modeのどっちかぽいんだけど...ってとこまでは分かるんだけども。これに加えて、auto-completeの設定やsnippetの設定、Tern.js使ったauto-completeとの連携、リアルタイムのエラーチェックなんかをしようと思うともう、ネットの海は広大よ状態。Spacemacsではこの辺がすごく簡単に設定できる。導入時に勝手に作られる.spacemacsというdotfileがあり、ここで全ての設定を管理するのだが、このファイルで以下のようにするだけで、JavaScriptが簡単便利に使えるようになる。javascript))これだけの設定で以下の機能が設定済みで使えるようになる。[https://github.com/Sterlingg/json-snatcher[json-snatcher]]素敵すぎる。他の言語もこんな調子でどんどんとdotspacemacs-configuration-layersに言語名や機能名を追加するだけで使えるようになる。mに集約されているので、どの言語を使ってもこれ覚えておけば困らないというおまけ付き。気になる、操作感だけど現状ではほぼ変わらない...と思う。デカい違いがこれくらいかな。//処理}と、丸カッコの中が編集可能な状態になるんだけど、Spacemacsでは丸カッコに移動してくれない。それ以外、ちょっとずつ「あれ、これ違うのか」みたいなとこはあるけども根本の不満ではないんであんまり気にならない。したら設定あるのかもしれないけども。最初からテーマがステキこれも昨今、俺のなかで重要なんですが、Powerlineみたいな拡張を入れているので、Spacemacsの最初からシャレオツな感じでテーマや、ステータスバーが設定されてるのもグッド。そもそも何で乗りかえようと思ったのか自分のVimの使いかたって元々気付いてはいたんだけど、俗にいうEmacs的な使い方してたからです。Emacsにしちゃえば良いかーと。Emacs的な使いかたっていうのはこんな感じです。neocompleteで入力がすごい重くなったりという現象があったので乗りかえました。これはVimが悪いんじゃなくって完璧に自分の使い方が間違ってるだけなんですが。いうことで、今はSpacemacsのおかげでかなり快適なエディタ生活を送っています。自分のSpacemacs導入方法リポジトリのREADMEに書いてるインストール方法でも全然問題ないんですが、自分はdotfilesをGitHubで管理しているのでこんな感じでインストールしてます。./あとは、Spacemacsでアップデートがあったときには、submoduleのアップデートを自分のdotfilesにpushしていくだけになります。最初はまんまcloneしてきたんですが、他のMacでの共有とかを考えるとsubmoduleが良いかなあなど。結論Vimmerが乗りかえるクォリティをSpacemacsは持ってる。