2011年8月8日月曜日

開発環境勉強会の原稿



<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!




0 件のコメント:

コメントを投稿