2012年9月8日土曜日

Shibuya.el の感想と(LT?)スライドの公開

先日行われた、Shibuya.elに参加してきました。残念ながら、Ustream等は行われなかったので、会場へ行けなかった皆さんはいったいどんな発表があるのか気になっていることでしょう。他の人も何人か感想記事を載せているようですが、思ったよりも少なかったので、私も感想記事を書いておこうと思います。

ainame            :  初めてのemacs lisp


ainameさんは、Shibuya.el を開催するために、Emacs Lisp を覚えたそうです。すごいですね。作ったのは、「hjkl-mode」という Emacs で vi キーバインディングを提供するメジャーモードのようです。コードを読む機会が多いので便利だそうです。この発表を聞いて私は、るびきちさんが以前設定を紹介していた、「view-modeでhjklで移動する設定」を思い出しました。

uk_ar               :  「Emacs Lispのテスト」について


Emacs標準のテストフレームワークであるERTの紹介です。テストフレームワークは作ったものの、なかなかテストを書けていない私には耳が痛い話でした。この発表を聞いて、私ももっとテストを書きたいと思いました。

Hiroaki Nagata : emacsとdvorak配列について


dvorak配列の宣伝でした。キーボード配列も一種の宗教ではないかと個人的には思います。こだわりのある人も多いですが、私はキーボード配列を変更するのはVim内だけで十分ですね……。

Yuto S Hayamizu : tokyo-emacs という歴史上の出来事


twittering-modeのはやみずさんの発表。さすがに発表がうまかったです。ホモ・イーマクスとホモ・ヴィムで吹きました。なぜ tokyo-emacs が無くなってしまったのかがよく理解できる話でした。勉強会は運営者に負荷が集中しがちなので、どうにかしたいところですね。これは別にEmacs勉強会に限った話ではなく、Vim勉強会でも問題になっている気がしています。

m2ym                    :最近作った拡張(popwin.elなど)について


LTなので時間は短かったはずなんですが、内容は濃く、よくまとまっていたと思います。m2ymさんのプラグインが実際に動いているところを見れてよかったです。Ruby 1.9対応のRSenSeの次期バージョンとか、新たな拡張機能の話とか、今後がとても気になる発表でした。

at_aka                    : clgrep.el について


前半はkinesisの宣伝w。後半はChangelogメモと、Changelogメモに特化したgrep拡張の話。エディタの中でメモを取る機能は一定の需要がありますよね。


ShougoMatsu    : 「Vimmerから見たEmacs」


私の発表です。

スライドの内容は見てもらったら分かると思います。

あ…ありのまま 今 起こった事を話すぜ!
『おれはShibuya.elのためにLTを作っていたと思ったらいつのまにか基調講演になっていた』
な… 何を言ってるのか わからねーと思うが
おれもどうしてこうなったのかわからなかった…

しんぱいしていましたが、こうひょうみたいでよかったです

懇親会


本日のメインです。私はずっとVimについて語っていたような気がします。「酔っているんですか?」と聞かれましたが、私は会場でお酒を飲んでいません。しいていうなら、「Vimに酔っていました」。
とりあえず、議論になったのはこういう話題です。

Vim(Emacs)でご飯を食べていくには
情熱Vimmer
仕事とVim(Emacs)
Vim(Emacs)拡張開発での苦労
勉強会主催者はマゾ
拡張機能のテストどうする?
m2ymさんと拡張機能開発あるある

印象に残ったやりとり:
私「m2ymさんはデフォルトのキーバインドを大事にされているのなら、もちろん<C-h>もそのままなんですよね?」
m2ym「いや、それはさすがに無理。私はヘルプをそんなに開かないんで」
「<C-h>はキーマッピングを変更させるための陰謀ではないか」

Emacs 勉強会に参加するのは初めてでしたが、特に Vimmerだから差別されるといったことはなく、和気あいあいと議論に参加できたと思います。また次回があれば、ぜひ参加したいですね。そのときには、自分の作ったVim のプラグインをEmacs ユーザに向けて紹介してみたいと思っています。

2012年9月2日日曜日

unite.vim ver.4.0の変更点について

おひさしぶりです。Shougoです。 ver.3.1のリリースから4ヶ月近くが経ってしまいましたが本日、無事にunite.vim ver.4.0をリリースすることができました。 メジャーバージョンアップということもあり、今回のリリースにはver.3.1と比較して多くの機能が実装されています。 「unite.vimの変更点をまとめてほしい」という声があったので、今回はunite.vimにどのような変更点があったかを解説していこうと思います。 もちろん、unite.vimには追加できなかった機能も数多く存在します。それらは今日より実装を開始したunite.vim 4.1以降で実装を開始する予定です。

 

1: ドキュメントの英語化

内部ドキュメントが完全に英語化されました。この決定は賛否両論あるでしょうが、 unite.vimの日本語情報はたくさんありますし、Vimテクニックバイブルで勉強することもできます。 ドキュメントが日本語になっていなくても、ある程度なんとかなるだろうと判断をしました。 私にとっては、unite.vimの存在が外国人にほとんど知られていないことが問題になっています。 unite.vimのことをよく知ってもらえるためには、まずドキュメントを充実させなければなりません。 英語化は必然だったのです。日本語ドキュメントを同時にメンテナンスすると、作業量的につらいので削除することになりました。 誰かが翻訳する、ということを提案していた人も居ましたが、unite.vimの更新には付いていけないでしょうから それには期待していません。もちろん、他の人からの英文の改善は歓迎しています。

 

2: 速度の最適化

 今回のリリースの最大の変更点です。具体的には、uniteバッファを開く速度や絞り込み速度、描画速度が大幅に改善しています。 特に候補が多いときに効果を実感できることでしょう。ctrlp.vimの実装を研究したので、おそらくctrlp.vimと同程度の速度にはなったはずです。

 

3: vimfiler対応の改善

vimfiler対応はunite.vim ver.3で行っていましたが、それをより改善しています。 具体的には、unite-sshに対応したりしました。

 

4: unite#custom_source()の追加

unite#custom_source()を追加しました。この関数を使用すると、sourceの振舞いをある程度カスタマイズすることができます。

 

5: multilineの改善

multilineの処理を改善しました。grepやregister, history/register sourceがmultilineの候補に対応しました。

 

6: unite-command, unite-mapping の改善

細かな挙動を改善しています。さらに、previewアクションを実装しました。

 

7: カーソル移動処理の改善

カーソル移動の動作がより直感的になりました。

 

8: -auto-quitオプションの追加

-auto-quitオプションが追加されました。:Unite -auto-quit neobundle/updateなどとすると、幸せになれるかもしれません。

 

9: -keep-focusオプションの追加

-keep-focusオプションが追加されました。このオプションを有効にすると、コマンドの実行後にフォーカスを移動しません。

 

10: vimfilerのための変更

最新版のvimfilerのための変更がかなり入っています。vimfilerを使用しているなら、アップデートは必須でしょう。

 

11: 多数のバグ修正

いつもの。