第5回関西Emacs勉強会

かなり時間が経っておりますが、第5回関西Emacs勉強会に参加してきました。
勉強会に参加するのも初めてでしたが、調子に乗って発表までしてます。
詳しくはid:peccuさんのまとめ
= #kansai_emacs 5 終了 - ぺっくブログミラー@peccul
にリンクがまとまって載っているのでそちらを参考にするとよいかなと。
それではだらだらと思ったことなどを書いてゆきます。

ポジションペーパー

まずはポジションペーパーによる自己紹介。
私は人の名前を覚えるのが非常に苦手なので、後から見返すことができて大変助かりました。
普段ブログやtwitterでしか見たことのない人と実際に会うことができて、かなり感動でした。
気になったのはquickrun.elとopen-junk-file.elの連携(peccuさん)。
最近、仕事でquickrun.elを使い始めたので設定を追加してみようかなと。
一応私の自己紹介はこんな感じ。

Uk ar
View more presentations from uk-ar

発表

id:kiwanami さん

Emacsをアプリケーションのプラットフォームとしてとらえるとというお話。
私はEmacsをエディタやIDEとしてしか考えていなかったので大変興味深い内容でした。
特にバッファローカル変数がmodel、バッファがview、keymapやコマンドがcontrollerに対応するというのは意識してなかったけど言われてみればそうだなぁという感じ。
意識すれば自作のEmacs Lispの責務の切り分けがよりはっきりしそうだなと思ったり。
tableやtreeなどのUI部品がないとアプリケーションを書くのが辛いとの話も共感しました。
あとは、メインの話ではないのですがemacs-develでのorg-modeの変数名がひどくて話題になってるとの話も(最近emacs-develを購読し始めたので)、そんな話だったのかと楽しくかったです。

[twitter:@takaxp] さん

org-modeでのプレゼン!
2011 advent calendarでは気になっていましたが、実物を見ると結構自然にアニメーションしていてびっくりでした(見ていない人はustreamhttp://www.ustream.tv/recorded/22182983をぜひ)
人のEmacs操作を見るのは好きだし、デモ画面とプレゼンの切り替えもスムーズなのでイイですね〜
org-modeの更新が早くて、ドキュメントの翻訳が大変とのこと。でも、odt(open office?)へのエクスポートやmobile org(iphone)などの新機能は気になりますね。
具体的な翻訳の進め方はもう少し詳しく知りたいところです。手が空いたら少しwatchしてみようかな。

[twitter:@shohex] さん

普段quickrunと「気になった Emacs記事」 にはお世話になってます。
今回はquickrunの紹介ということで、基本的な使い方から開発の振り返りまで。outputterはうまく使えば便利そうですね。

自分

恥ずかしいですが、実際の動画は


Video streaming by Ustream
スライドは

にあります。
内容はflex-autopairの紹介とEmacs lispでのyasnippet.el & auto-complete.elの設定です。
色々意見をもらって宿題ももらいました。解決したものもあるので、覚えてる範囲であげてみます。

  • プレゼンでのyasnippet(とauto-complete)の設定はよ

じ、次回のエントリでお願いします…

  • 括弧を閉じた時対応する括弧が光る機能があるけど、一緒に動くの? by takaxp さん

聞かれてからちゃんと調べてみたのですが、カーソルが移動してから光るblink-matching-parenとただ光るだけのshow-paren-modeがあるようです。昔は端末ではblink-matching-parenしか使えなかったようですがEmacs23では端末でもshow-paren-modeが使えるのを確認しました。端末上でflex-autopairの動作確認もしましたがどちらとも動いてるようです。一瞬操作が固まるのがいやならshow-paren-modeが良いかなと思います。
開き括弧を入れた時でも(自動挿入した)閉じ括弧が光ると便利な気がするので、試してみたいなぁ。

  • emacs24で動かないよ by [twitter:@mastaka] さん

動作確認してないので、気づいてませんでした…環境作って修正したのでもう一度試してもらえるとうれしいです。

  • (C言語とかで?)中括弧「{」入れるときは改行入れて戻ってするから結局面倒では? by id:lurdan さん

c系のモードで中括弧「{」を入れると自動で改行するようにしました。

{
    !! //←!!の場所にカーソルがインデントした状態で配置
}

試してみて感想いただけるとうれしいです。

  • 端末でコピペしたとき余計な括弧がついたりするよね by id:tarao さん?

おっしゃる通りです。現状は文字の入力間隔で判定するのが妥当な線のようですね。ただ、キーボードマクロの実行時など考えることがありそうなので対応はちょっと先にしようと思います。

括弧で囲うぐらいならflex-autopairでもできたりします(宣伝)。それ以外の場合はyas/wrap-around-regionあたりを使うのが妥当でしょうか?
http://yasnippet-doc-jp.googlecode.com/svn/trunk/doc-jp/snippet-development.html#yas-wrap-around-region

id:kozo2 さん

elispのインストール手法について。
ポイントはツールとしての違い(package.elとel-get.el)とリポジトリで何を管理するか(el-get.elとMELPAはレシピと呼ばれるインストール手順、marmaladeはelisp自体)
ツールとしてpackage.elと比べたel-get.elの利点は手元でオレオレレシピを登録出来るところかな?メリットは理解できるけど、現時点で自分にはそこまで必要ないかもと思っています。
githubリポジトリから直接持ってくるのが主流になった場合、elispの開発者側からすると(masterには不安定な変更が入ったりするので)tagを認識してくれるとありがたいかもと感じました。
その他、emacs-starter-kitの話が出てたので、新しい言語を使うとき用に開発言語毎のメタパッケージみたいのがMELPAやel-getにあるといいなぁとふと思った。

その他

懇親会までは [twitter:@arte_nut] さんとNTEmacsやらターミナルやEmacs24の話など。Emacs24もそろそろ環境を作ろうと心に刻む。

懇親会でもいろいろな人とEmacsについてやきれいなコードの書き方やらdebianの話など話せて楽しかったです。意外だったのが結構key-combo使ってるよと言ってもらえたこと。ちゃんとメンテしていこうと思います。

初参加でしたが本当にアットホームな雰囲気が心地良く、帰るのが名残惜しかったです。
主催のpeccuさん、会場の手配などいただいた [twitter:@uwabami] さん始め、発表者、参加者の皆様、本当にありがとうございました。