2011年8月8日月曜日

開発環境勉強会の感想

開発環境勉強会へ行ってきたので、適当に感想とかを書いておきます。
各々の発表者の内容は、スライドや感想、ustを見ればある程度分かると思うので割愛します。

XMonadの話 pi8027



XMonadについて、ソースコードを含めて詳細に解説してくれていました。
もう一度XMonadを試してみようかとも思ったけれど、Window Managerへの興味が薄れている今日このごろです。

ちなみに、VimとEmacsを併用していたのが印象深かったです。意外とVimも使っているらしい。
シェルは「zshの本」で覚えたzshらしいです。
たしかにこの本はよくまとまっていますね。

Vimについて Shougo


私の発表。原稿は、本日書いた別ページである「開発環境勉強会の原稿」に公開しているので参照してください。
内容は、私とVimのラブロマンス物語です。
なぜか会場は笑いにつつまれていました。私は真面目にやっているんですよ!

スーツとEmacsと開発環境 kiwanami


lingrのEmacs部屋とかではよく会話をしていますが、リアルでkiwanamiさんを初めてみました。
cacoo.elやcalfwなどはやはりすごかったです。あの非同期処理いいなぁ。
「オフライン重要」が印象的でした。私もそう思います。
ネットワークはいつ切れるか分かりません。
ちなみに、EmacsではPDFを読んでいないらしい。ですよねー。

ベンチマークドリブン駆動開発 nyaxt


いかに集中できる開発環境にするか、というのは興味深いものでした。
私も、もっと作業に集中できるようにしないと。
遊ぶ環境は別マシンにする、というのはなるほどと思いました。
確かに私も誘惑の少ないLinux環境で作業していると、はかどります。

XKeyRemapについて m2ym


auto-completeのm2ymさんの発表。
最近elispを書いていないらしい。情熱が薄れてしまったみたいです。

XKeyRemapは汎用的なキーマッピング変更ソフト。ただし、まだ未完成らしい。
「自分はやる気がなくなった。他の人やってください」 えっ……。

TryIt.vim, Phrase.vimで多言語を効率よく学ぶ t9md


もともとEmacs使いでしたが、「手首痛い問題」によりEmacsを引退することになったらしいです。

TryIt.vimは選択したテキストをTryItバッファに貼りつけてQuickRun実行する。
QuickRunとの違いは、複数のバッファから切り貼りできるところだろうと思いました。

Phrase.vimはサンプルコードを集めて勉強するのに使うらしいです。
スニペットと似ていますが、目的が違うようです。
なかなか面白い試みだと思いました。

オレオレ環境の話 shinichiro_h


オレオレトロイで自己管理。すごい。
なぜか、一番に起動しているソフトがw3mでした。なんと……。
w3mが環境となっているらしい。その発想はなかった。
w3mで一番重要な設定:「今開いているページをChromeで開く」に吹いた。
やはりw3mだけでは生きていけないらしいです。

shinichiro_hさんは、オレオレWindowManagerを使っていて、
Windowを使ったシューティングゲームをデモしていました。
なにそれすごい。そして極めつけはメモリ使用量900KB!
今どきのWindow Managerが霞んで見えます。

貧乏人のためのマルチディスプレイ構築環境 tomy_kaira


6台ディスプレイすごい。さすがに、私はこんな環境は使いこなせないなぁ。

貧者のための入力デバイス todesking


HHKは高いので、Majestouchを切りとったお話。
「キーボードはいまだにDIYが通用する領域」は名言でした。

Dvorakについて kjm


これは良いDvorak講座。いや、私は使う気になれませんが……。

おまけ Shougoの開発環境


発表中に簡単に触れましたが、ここにも書いておきますね。

OS:Windows 7/Ubuntu 10.10
端末:Vim, ckw, GNOME Terminal, screenは使っていない
エディタ:Vim
シェル:vimshell, nyaos, zsh
ファイラー:vimfiler, あふw, Nautilus
VCS: git
キー配列:US, Vim only sticky shift
日本語入力:eskk.vim, ATOK 2008, uim-skk
キーボード:HHK Pro2
マウス:MX Revolution
Window Manager:Vim, Explorer, GNOME
PDFビューワ:Smatra PDF Viewer, Evince, AdobePDF Viewer

基本的にVim中心の生活なので、Vim以外にあまり凝ったことはしていません。
今回参加した限りでは、皆Window Managerにこだわりがあるようです。
しかし、自分の場合ほとんどVim内で生活していて、Vimさえあれば他はどうでも良いという性格なため、
他の環境はどうでもよかったのだということに気付きました。だからWindow Managerに興味がなかったんですね。
だから、私のWindow ManagerはVimです。

まとめ


余談ですが、会場はLinux(Ubuntu/Debian)が多かったですね。
やはり、LinuxのほうがWindow Managerもいじれるし、開発環境の最適化に熱心な人が多いのだろうか。
Macもそこそこ居ましたが、予想していたよりは少なかったです。
ちなみに、Emacs/Vimは半々くらいだったような気が……。
いろんな環境の人達がいて、なかなか新鮮な発表を聞くことができました。
今度は関東のEmacs勉強会で「Vimから見たEmacsについて」を発表したいので、誰か招待してください:-)

開発環境勉強会の原稿



<br /> /home/shougo/勉強会/開発環境勉強会/development.vp <br />


Vimについて




まずは自己紹介











  • Shougoです。

  • 知っている人は知っている

  • 得意な言語は当然Vim script

  • 私のプレゼンは「抜群な安定感」らしい

  • 職業:普通のVim scripter(ということに……)

  • 今回はせっかくなのでVimでプレゼンするよ!




今まで作ったプラグイン









  • neocomplcache, vimshell, vimfiler, vimproc, unite.vim, echodoc

  • Emacs使いの人は、これに脳内で変換:

  • auto-complete.el, eshell.el, dired.el, comint-mode.el, anything.el, eldoc.el




今回のスライドの内容









  • 昨年はVimプラグイン中心に話をした

  • 今年はさすがに疲れたので、違うことをテーマにスライドを作っている

  • どうせプラグインの話は自分以外にもやってくれる人がいる

  • Yokohama.vim #1: 「Shougoの開発環境」

  • ujihisa.vim: 「5分でまなぶVimとVim plugin」

  • 開発環境勉強会:「Vimmerの異常な愛情」「Vim界 News in 2011」




第一部・Vimmerの異常な愛情



またはなぜShougoがテキストエディタについて心配するのを止めて
Vimを愛するようになったか

はじめに



プログラマにとって、テキストエディタとは一生涯のパートナーであり、
それを選択するということは、一生の伴侶を決定することに相当する。
ここで紹介するのは、紆余曲折を経てVimに辿り着いた男の物語である……。

初恋はVisual Studio









  • 私はVisual Studioでプログラミングを始めた

  • つまり、初恋のエディタはVisual Studio

  • あのころは、GUIプログラミングにゲームプログラミングと希望に燃えていた(遠い目)




様々なエディタに浮気していたあの頃









  • Visual Studioはそのころ有料だった上、動作が遅かった

  • さらにスクリプト言語には使いにくい

  • 様々なエディタに浮気しつつ、サクラエディタに落ちつく

  • エディタへの恋物語も波瀾万丈

  • これが俗に言う、「エディタ活動」略して「エディ活」と呼ばれるものである

  • ちなみに、この勉強会も「エディ活」の一種ですよね:-)




Vimとの出会い









  • 私とVimとの出会いは5年くらい前

  • 第一印象:「このエディタは変態だ」

  • 動作が気持ち悪いと思っていた




サクラエディタに限界を感じる









  • サクラエディタはカスタマイズに限界があった

  • Vimは豊富なシンタックスハイライトや様々なプログラミング言語に対応していたのが魅力的

  • Vimが気になり始め、本格的に手を出すことに

  • テキストファイルの関連付けをGVimにして、スパルタで操作を覚える

  • xxdでバイナリファイルを編集する程度には成長する




Linuxに手を出す









  • zshやscreenを覚える

  • Vimを毎日使って、カスタマイズを覚える

  • 設定はコピペだったけど……。

  • Vimの力が段々分かってくる

  • Vimへの恋が始まったのはこの頃?

  • ちなみに、このころEmacsも一応使えるようになっていた




kana氏のブログに衝撃を受ける









  • 書いてあることが全然分からない

  • 自分はVimのことを知らなかったのだと実感する

  • 言うなれば、C言語で初めてポインタを理解したのと同程度の衝撃

  • ちなみに、このとき.vimrcは300行くらい

  • Vimを本格的に勉強しようと思った

  • Vimへの恋が愛へと変わりつつある




lingrのvim-users.jpに参加する









  • ちょくちょく発言し始める

  • この頃はkanaさんがよくvim-users.jpに居て、いろいろ教えてもらっていた

  • 質問した瞬間に答えが返ってくる、恐しい場所だった

  • 今はほとんどkanaさんはいない……。




autocomplpop.vim(acp.vim)の挙動を調査する









  • 以前から、autocomplpop.vimをLinuxで使うと日本語入力が暴走するバグに悩まされていた

  • そのころ、autocomplpop.vimはメンテナンスされていなかった

  • kana氏と協力して原因を突きとめることに成功




neocomplcacheの誕生









  • autocomplpop.vimの実装を見るにつれ、Vimの補完の限界を痛感する

  • もう補完システムを自分で作ったほうが良いと思った

  • auto-complete.elに負けたくなかったのも理由

  • altautocomplpopという名前だったが、紛らわしいので改名する

  • neo+complete+cache=neocomplcacheという名前になる




そして伝説へ……









  • この頃には、.vimrcは1500行を越える

  • いつのまにか、色んな人達を追い抜いていた

  • もうVimがないと生きていけない

  • その後はvimshellを公開したり、vimprocの開発を引き継いだり……

  • vimfiler, unite.vimとかを作る

  • どうしてこうなった!




私にとってのVimは?









  • 環境であり、OSであり、VMであり、大事なパートナー

  • かれこれ、5年以上付き合い続けている

  • リアルでも、5年以上毎日付き合うというのは大変なはず

  • それはテキストエディタであっても同じ

  • 毎日Vim scriptを書くためには、やはりVimに対する愛がないとできない

  • Vimに対する愛をいつまで続けることができるかが重要

  • 一時の恋では、エディタとの関係は長く続かない

  • 「エディタへの恋は愛に変えよう」




番外:なぜEmacsは選ばれなかったのか?









  • 自分の環境が長らくWindowsメインだったから

  • WindowsでのEmacsは地獄

  • あれはLinux/UNIX環境でEmacsに慣れている人が、Windows環境で無理矢理使うもの

  • 初心者にはオススメできない

  • Windows環境でEmacsをマスターできた人がいたら、秘策を教えて欲しい




第一部・完



皆さんも、この勉強会で一生のパートナー(ツール)を見付けましょう!

第二部・Vim界 News in 2011









  • 去年は、Vim 7.3でVim界が大いに盛り上がった(自分の中では)

  • 残念ながら、今年はVimがバージョンアップする気配なし

  • Bramさんが忙しいらしい……。

  • 来年に期待。Vim 7.4になるか、Vim 8.0になるかは分からない

  • 個人的にはVim 8.0に来て欲しい




Emacs界の盛り上がり









  • 最近はEmacs界が勢い付いている

  • 去年の「Emacsテクニックバイブル」、今年の「優しいEmacs Lisp講座」

  • Software Designにおける「Emacsのトラノマキ」の連載

  • 三月にはEmacs 23.3がリリースされ、Emacs 24も開発中




Vim界の悲哀









  • Vim界には、良質な記事や書籍が不足している

  • まともにVim scriptを書ける人が書いた書籍がほとんどない

  • これはVim界の大きな損失

  • Vim勉強会に参加すると、必ずといっていいほど聞かれるのが

  • 「Shougoさんは、Vimの書籍を書かないんですか?」

  • この声になかなか答えられないのが悲しかった




と、いうわけで……。









  • 今年、ついにVimの書籍が刊行される!

  • 書名は「Vimテクニックバイブル」


  • 中身は「Emacsテクニックバイブル」のVim版

  • イメージカラーはVimグリーン

  • EmacsテクニックバイブルはEmacsブルー(パープル) :-P

  • ./Emacs_cover.jpg




Vimテクニックバイブル









  • unite.vimで進化する新しいVimの常識を教えます。

  • あなたはVimの本当の姿を知っていますか?




Emacsテクニックバイブルのキャッチコピー









  • anything.elで新しいEmacsの世界を教えます。

  • あなたはEmacsを使えていますか?




今までにないほどの豪華執筆陣!









  • taku_o(名無しのVim使い)

  • yukimi

  • mattn(webapi-vim, zencoding.vim, Vimにパッチ多数)

  • thinca(quickrun, ref.vim)

  • fuenor(QFixHowm, QFixGrep, JPFormat.vim, Vim-UTF8)

  • Shougo(neocomplcache, vimshell, vimproc, unite.vim, ...)




プラグインの紹介を中心とした豪華な内容!









  • Tipsの数は全部で150

  • 定番からマイナーまで幅広く解説している

  • プラグイン製作者が執筆していることも!

  • vimfiler, netrw, quickrun, ref.vim

  • vimshell, Conque, skk.vim

  • neocomplcache(スニペット機能の解説を含む), zencoding.vim

  • QFixHowm, QFixGrep, JPFormat.vim

  • autodate.vim, project.vim, ...




Vim scriptが分からない初心者でも安心!









  • :helpの読み方

  • Vim script基礎文法最速マスター(改訂版)

  • マッピングについて

  • オプションについて

  • Vimプラグインの管理

  • :autocmd




最近のVimといえば、unite.vimは外せないよね!









  • unite.vimは1つのChapterを贅沢に使用して解説

  • おそらく、30〜40Pageくらいある

  • 他のプラグインとの連携

  • カスタマイズ方法についての解説

  • source, kind, action, filterの解説

  • sourceの作り方まで載っている!

  • 作者が自ら書いているから、情報が正確で安心

  • unite.vim Ver.2.2対応(一応)

  • あまりに新しい機能は解説できていませんが……

  • これを読めばあなたもunite.vimマスターに




もちろん、Emacsの人達にもオススメ









  • Emacsを使っている人も、異文化交流は重要

  • 同じ環境で満足していたら、何も生まれない

  • Vimや他のエディタからも刺激を受けるべき

  • だからこそ、この開発環境勉強会に参加しているはず

  • この本を読めば、最近のVimの機能が分かる

  • 例:unite.vimとanything.elの違いが分かる

  • 一身上の理由により、Vimに乗り換えるときも安心:-)




現在確定している情報









  • ページ数は384P。Emacsテクニックバイブルと同じ。

  • 値段は¥2, 980+税

  • なんとか¥3000は切った……。

  • 若干Emacsテクニックバイブルより高い

  • 発売日は9月終わり?

  • 詳しい情報については、今後順次発表される予定




おわり









  • それでは、ご静聴ありがとうございました!

  • またどこかの勉強会で会いましょう

  • Happy Vim scripting!