五反田Emacs#01に行ってきた

  • 向かってると前方を歩く @cesare さんを発見.連れて行ってもらうことに.
  • emacs 使いがたくさんいますね!
  • 19:30 スタートで会場 19:00 という,勉強会じゃない感じのいいスケジュール
  • 見たことあるようなー,ないようなー,人がたくさん
  • 「ピザを食うにもかかわらず,酒は禁止とは,まるで肉のないすき焼きじゃないか」とか思った
  • 「今日やる内容はあまり知りません」と言う発言.なんかゆるふわ.
  • 「敵が一人紛れ込んでいる!」

##まとめ

  • Emacs 使いに悪人なし
  • anything は富豪的

##Emacsを活用したプログラマ採用

  • アリエルネットワーク社員番号2番の井上さん
  • SD の Emacs のトラノマキ監修&時々執筆
  • ストールマンに3回会ったことがある
    • FSF に行って Tシャツ買ったら Free Software Award 1st に招待してもらったときに,会ったのが初めて
  • パーフェクト Java を執筆
    • プレゼント条件はストールマンに会ったことある人
    • 3回の人なし
    • 2回のは吉岡さんと上野さん
    • ストールマンに会える機会は逃さないように!

###本題

  • Emacs使い(軽い感じで)
    • 道具へのこだわりがある
    • 難しいものが好き
    • バッドノウハウと「奥が深い症候群」
    • 優れたプログラマはバッドノウハウに惹かれることが多い
    • 機能美がわかる
    • 優れたプログラマなら self-insert-command のセンス・オブ・ワンダーに共感できるはず
    • 拡張性の価値がわかる
    • 開発の多くは抽象レイヤの作成
    • 王と道化
  • まとめ
    • Emacs 使いに悪人なし

##anything のソースを書けるようになってみる + anything.el を読んでみる.

  • anything 便利だけど書いたことある人少ない
  • 対象は elisp がなんとなく読める人

anything-sources

  • 速すぎて何も追えないぜー
  • anything-update
    • anything-sources に関する更新かな
  • ソース見ながらやってみる
    • name, action, candidates だけがあればだいたい大丈夫
(setq anything-c-souce-sample
      '((name . "hoge")
        (candidates . ("fuga" "mage"))
        (action . (("Insert" . insert)
                   ("Search" . (lambda (x) (search-forward x nil t)))))))

(anything '(anything-c-souce-sample))
(setq anything-c-souce-sample2
      '((name ."buffers")
        (candidates . (lambda () (mapcar 'buffer-name (buffer-list))))
        (action . (("Select" . switch-to-buffer)
                   ("Kill" . kill-buffer)))
     ))
(anything '(anything-c-souce-sample2))
- name に 名前
- candidates に候補のリスト
- action に選択したときに実行する処理名(表示名)と処理
- multiline をつけると candidates に改行があるとまとめて選択できるようになっている
- init で初期化できたり
  • candidates-in-buffer を使うとバッファの中身を候補にしてくれる

    • 引数は
      • バッファ
      • ‘global
      • ワークのバッファを作ってそれを登録 with-current-buffer とともに
      • それ以外のシンボル
      • ソースだけじゃなくて,起動したバッファとひもづける
    • anything-current-buffer
      • anything を実行したバッファ
  • anything-complete

    • auto-complite と共存?
  • プラグインを書く

    • anything-compile-source-functions に追加
    • anything-match-plugin は match にとか
  • anything-c-sources

    • dummy

###補足とか

  • anything で郵便番号から住所検索を作ったことがある人がいるらしい
  • backquote(`) 記法
    • クォートの中に ,tmp などがあればそれが展開される
  • タブキー重要だったことに,このとき気がついた
  • 重いときは外部プロセスに出す
  • discbinds-anything

###ピザの時間

  • 辛いの食っちまって大変でした.
 
comments powered by Disqus