はじめに
spacemacs 0.200 の リリースノート
を読みながら、つぶやきます。決して網羅的に翻訳したりはしないので、
多くの人の役には立たないと思います。
Introduction
すげーたくさん変更があるよー、詳細は CHANGELOG.org
みてねー、
ってことが書いてますね。すっ飛ばす。
Breaking Changes
Support for Emacs 24.3 has been dropped
タイトルの通り。次っ。
Some modifications in the layer format
レイヤーのファイル構造がちょっと変わったよー、的な話。
レイヤーを自作したりカスタマイズしない人にはあんまり関係なさそう。
Controlling downloaded packages
使ってるパッケージだけをダウンロードするのか、全部をダウンロードするのか
を適切に定義できるようにしましたよ、的な?多くの人には関係ないだろう。
デフォルト値(used-only
)のままでオッケーだと思う。
Key bindings
Here is the scary section
そうだねw
SPC SPC
は以前は avy
を起動してたけど、 M-x
に変えますよ
ガ━━(;゚Д゚)━━ン!!
SPC SPC
めちゃめちゃ使ってたよ。まぁ、でも
The SPC key in Spacemacs is a central key as it acts as the leader key for all the key bindings
というポリシーには同意できるので、慣れるしかないね...
で、 avy
はどこに行ったのかというと、jump
をまとめた
SPC j
に移動したよ、と。
なので、例えば t
を検索して移動するとき、以前は
SPC SPC t
でよかったんだけど、これからは
SPC j j t
に変わりますよ、と。タイプ数が1回増えちゃうね...
でも SPC j l
(行の移動) などとの整合性には納得できるので、
がんばって慣れましょうか。
これに伴ってもともと SPC j
にバインドされていたいくつかの機能の
キーバインドも変わってるけど、この辺はもともとそんなに使ってなかったから
いっか。
Closing, deleting or killing things ?
Close には c
が割り当たってたり、 Delete には d
が
割り当たってたり、 Kill には k
が割り当たってたりなど、「閉じる」的な
操作のキーに統一感がなかったので、全部 d
に統一しますよ、と。
うん、これは私も混乱してたので、大変ありがたい。
map prefixes SPC b
and SPC w
to the same actions and bring a convention with avy
commands
バッファの操作とウインドウの操作は動作として共通のものが多いので、
統一させて、 avy
にも対応しましたよ、と。これは良いんじゃないですかね。
まぁ、バッファ操作は旧来の C-x k
とか使っちゃてるし、
ウインドウの選択も SPC 2
とか使ってるので、この辺はどうでもいいや。
Helm
has a new friend in this release, it is called ivy
Helm に対応したパッケージを増やすので、 SPC h
にバインドしていた
helm 系のコマンドは他へ移して、 SPC h
は help に統一することに
しましたよ、と。
ivy の説明がほとんどないけど、 ivy は使わないからいいや。
余計なものがいっぱいヒットしてきて嫌いなんだよね...
SPC h l
forhelm-resume
is nowSPC r l
ガ━━(;゚Д゚)━━ン!! めちゃめちゃ使ってたよ...慣れるしかないね...
SPC r
は resume とか register がまとめてあるところらしい。
The git
related commands have been drastically simplified to leverage the magit
dispatch menu.
ふーん、ディスパッチメニューなんてものがあったのね。 SPC g m
で
出せますよ、と。
SPC g s
(magit-status
) してから、直接 b c
(Checkout new branch)
とか p p
(Push) とかしてたので、あまり使わなさそうな気が...
Spacemacs layouts now restrict the scope of the buffer list opened with SPC b b
レイアウトの中でバッファ一覧を出すと全バッファが出ちゃってたんだけど、
レイアウト内のバッファのみに限定しますよ、と。
ごもっともですねぇ。でも、だいたい helm で用事済んでるから影響なし。
micro-states
in Spacemacs are dead, say hi to the transient-states
micro-states
は transient-states
に置き換えますよ、と。
軽く使ってみたけど、使い心地変わらないから良いんじゃないですかねー。
What's new ?
Startup improvments
起動時間が 20-25% 減りましたよ、と。
一回起動したら1週間は起動しっぱなしなので、どうでも良いです。
Improved composability
spacemacs
の機能を spacemacs
ディレクトリ以下に
分割整理したので、自由に取捨選択できますよ、と。
だいたい全部使ってるからどうでもいいかなー。
Improved stability
elpa
のミラーを作って、 elpa
が落ちてた時は
fallback するようにしましたよ、と。
あんまり困ってないかなー。
Lazy installation of layers
.ex
を初めて開いた時に、elixir
レイヤーをインストールできるように
したけど、デフォルトでは OFF ですよ、と。
自分がどういう機能を使うかはだいたい事前にわかってるし、
ファイルを開こうとした瞬間にダウンロード、コンパイル、インストールが走って
待たされるのはあんまり嬉しくなさそう。
A better hybrid editing style
Hybrid スタイルでの挙動を少し向上させましたよ、と。
hybrid-mode-enable-hjkl-bindings
, if non nil navigation onhjkl
keys is enabled (for instance inhelm
orivy
buffers),
はちょっと嬉しいかもしれない。helm を起動したときに、「あれ?ここでのカーソル移動どうやってやるんだろう?」って迷うことがあったので。
Support for Ivy
ふーん、 Ivy 勢力って結構居るのねぇ...
Better transient-states
前述しましたね。
More debugging tools
設定ファイルなどでエラーしたときや、速度計測などのツールを
充実させましたよ、と。
ほとんど困ってないので、必要になったら使わせて頂きます。
New keyboard layouts
keyboard-layout
レイヤーを追加して、 bépo
や dvorak
を
使えるようにしましたよ、と。
一部の人には便利そう。
Directory and file local variables
例えば、 ruby モードを使っているときに、プロジェクトによって rspec を使ってたり、 testunit を使ってたりする、という状況の話。
従来の spacemacs だと
「ruby-mode では rspec を使います!」っていうグローバルな設定しかできなかった
んだけど、 0.200 からは「プロジェクトXではrspec、プロジェクトYではtestunit」
を使える(テスト実行するキーを叩いたときに、適切なコマンドを
起動してテストを実行してくれる)ようになりましたよ、と。私はだいたい rspec で
統一してるので、そんなにこの辺で困ったことないんですが、必要になりそうな
場面は容易に想像つきます。
More useful abstraction
タグジャンプをするツールがいろいろあるんだけど、 どのツールを使っていても
同一の操作方法で使えるように抽象化しましたよ、と。
New welcome screen
起動画面がちゃんと真ん中に表示されるようにしたり、
フッターをつけるようにしましたよ、と。これのことかな?
また、agenda や todo を表示できるようにもしましたよ、と。
About Spacemacs update notifications
新バージョンのチェックを起動時と、起動後は6時間ごとにしてたけど、
GitHub へ負荷をかけすぎていたので、6時間チェックは止めたり、
多くても1日に1回しかチェックしないような仕組みを入れましたよ、と。
A new community document
COMMUNITY.org
にユーザーやコントリビューターのルールを明文化しましたよ、と。
The Spacemacs shop
Tシャツを買うことで、Spacemacsへの支持を表明できますよ、とw
パーカーちょっと欲しいw
What's next ?
Even more stability
elpa
の安定したスナップショットを用意して気軽にバージョンアップしたり
ロールバックしたりできるようにしますよ、と。
More consistent window behaviour
emacs-purpose
を統合しますよ、と。
これは楽しみ。
New layers
新しいレイヤーのPRは、レビューに時間がかかるので優先度低くしてきたんだけど、
0.201 では新レイヤーの優先度を高めてレイヤーをいっぱい増やしますよ、と。
A few thanks
感謝。
さいごに
レイヤーの定義などは結構変わってる印象を受けたので、
0.1xx から移行する人は、今一度 layers フォルダ一通り眺めて
.spacemacs
をゼロから作り直した方が良いかもしれないですねー。
私は 0.105 の .spacemacs
のままだと SPC SPC
(M-x
) が動きませんでした。
ちなみに私の環境は以下です。
- OSX el capitan
- Emacs 25.1.1 (brew tap railwaycat/emacsmacport)
- spacemacs 0.200