2012年2月9日木曜日
neocomplcache Ver.7の新機能とその設計思想について
本日、別ブランチで開発していたneocomplcache Ver.7をmasterにマージしました。
自分でしばらく使っていて、特に問題が起こらなかったため、広く使ってもらう必要があると感じたためです。
Ver.6.2からVer.6.3ではなくVer.7.0になったということは、大きな意味があります。
つまり、後方互換性や安定性に関わる変更が入ったということです。
大きな問題がないことは分かっていますが、何か未知の問題が生じる可能性があります。
注意してください。そしてもし問題が発覚した場合、早めに[作者]に連絡してください。
今回の変更点は以下のようになります。
1:snippets_completeが本体から分離された
おそらく、皆さんが感じる一番の変更点がこれです。
neocomplcacheはスニペット機能が標準的に搭載されていることをウリとしていた時期もありましたが、
今回本体から分離することにしました。
https://github.com/Shougo/neocomplcache-snippets-complete
分離した理由は、snippets_completeの機能が巨大化しすぎ、バグ報告や機能追加の要望を受けた際に
どちらの問題なのかが分かりにくくなってきたからです。
さらに、スニペット機能は使う人と使わない人の差が激しいため、本体に同梱するには適しません。
2:変数名をリファクタリングした
変数名にsourceではなく、pluginという記述が一部残っていたので、それを訂正しました。
これまでの変数名も一応初期化するときに認識するようにはなっていますが、新しい変数名を使用することをオススメします。
正確な変数名についてはneocomplcacheのドキュメントを参照してください。
3:日本語ヘルプが削除された
変数名のリファクタリングやsnippets_completeの分離により、ドキュメントにかなりの更新が入りました。
日本語ヘルプと英語ヘルプに同時に変更を入れるのはつらかったため、日本語ヘルプを削除することにしました。
これには賛否両論あるでしょうが、作者として二つのドキュメントを同時に更新するのは大変なのです。
「『メンテナンスしていない』と注釈を付けて残せばいい」という意見もありましたが、
私にとって初心者がメンテナンスされていないドキュメントを読んでハマるという自体は避けたいと思いました。
最近、vimprocやvimshellにおいても日本語ドキュメントが削除されたのはこれが理由です。
4:パフォーマンスが最適化された
g:neocomplcache_release_cache_timeにより、一定時間経ったキャッシュは自動的に解放されるようになりました。
これにより、neocomplcacheがメモリをたくさん食うという問題は解決するはずです。
さらに、一部の実装を削除・最適化して、補完のパフォーマンスを向上させています。
追記:neocomplcache Ver.7.0の変更ではありませんが、先日リリースしたneocomplcache Ver.6.2で補完関数の挙動が変わったため、
不具合を生じている人がいるようです。「Vimではuim-skkで日本語を入力している」環境で報告を受けています。
その場合、let g:neocomplcache_enable_prefetch = 1とすることで以前の動作に戻すことができます。
ただし、これを設定すると既存の補完関数と互換性がとれなくなるため、作者としてこの設定を推奨する訳ではありません。
2012年1月2日月曜日
Shougo/clang-completeの改名と現在の問題点まとめ
こんにちは。Shougoです。
今後はプラグインの重要な更新点については、ブログにフォローしていくことにしました。
第一弾はneocomplcacheプラグインclang-completeのリポジトリ名変更です。
Shougo/clang-completeとなっていましたが、これだと本家clang-completeと似ていて紛らわしいのでShougo/neocomplcache-clangと名前を変えました。
新しいリポジトリはこちらになります。
https://github.com/Shougo/neocomplcache-clang
さらに、manga_osyoさんのneocomplcache-clang_completeをforkしました。
Vim scriptの書き方をもっと良くする為です。
https://github.com/Shougo/neocomplcache-clang_complete
こちらは修正完了後にPull requestを投げます。
なぜ、こんなことをしたかというと幾つか理由があります。
* 本家clang_completeやclangの更新についていくことができなくなった
本家の更新は比較的早いです。私がneocomplcacheだけや、neocomplcache-clangしかプラグインを書いていないのなら、この更新についていくことが可能なんです。しかし、現状他のプラグイン開発に忙殺されているため、ついていくことができません。
* neocomplcache-clangでは非同期補完ができない
今後はプラグインの重要な更新点については、ブログにフォローしていくことにしました。
第一弾はneocomplcacheプラグインclang-completeのリポジトリ名変更です。
Shougo/clang-completeとなっていましたが、これだと本家clang-completeと似ていて紛らわしいのでShougo/neocomplcache-clangと名前を変えました。
新しいリポジトリはこちらになります。
https://github.com/Shougo/neocomplcache-clang
さらに、manga_osyoさんのneocomplcache-clang_completeをforkしました。
Vim scriptの書き方をもっと良くする為です。
https://github.com/Shougo/neocomplcache-clang_complete
こちらは修正完了後にPull requestを投げます。
なぜ、こんなことをしたかというと幾つか理由があります。
* 本家clang_completeやclangの更新についていくことができなくなった
本家の更新は比較的早いです。私がneocomplcacheだけや、neocomplcache-clangしかプラグインを書いていないのなら、この更新についていくことが可能なんです。しかし、現状他のプラグイン開発に忙殺されているため、ついていくことができません。
* neocomplcache-clangでは非同期補完ができない
これはVimの問題とneocomplcacheの問題が複合していて単純ではないですが、本家clang_completeで使われている非同期の補完はneocomplcacheでは使えません。そのため、neocomplcache-clangでも使えません。今後Vimとneocomplcacheの更新で使えるようになる可能性はあるんですが、それには時間がかかることでしょう。
つまり、最新版のclang_complete(やclang)の機能を使ったり、非同期で補完したい場合は本家clang_completeとneocomplcache-clang_completeを併用しないといけないのです。
ただし、neocomplcache-clang_completeを使えば万能かというとそんなことはありません。
以下の問題があります。
* neocomplcache-clang_completeとclang_completeはneocomplcacheと排他的に動作している
本来、neocomplcacheとclang_completeは共存できません。なら、なぜneocomplcache-clang_completeは動作しているかというと、neocomplcacheとclang_completeを排他的に動作させているからです。これならneocomplcacheの問題もclang_completeの問題も互いに影響をすることはありません。しかし、この方法を用いるとneocomplcacheの機能がclang_completeの補完関数から使えません。なんだそんなことか、と思われるかもしれませんが、neocomplcacheの独自機能は意外と多いのです。context filetype, 補完候補の統合、ワイルドカードやfuzzy補完が使えないのは個人的にかなり困ります。
* clang_completeのVim script実装はかなりアレである
clang_completeのVim script実装はあまり綺麗なものではありません。その上、デフォルトでcompletefuncを上書きし、自前で自動補完も実装されているため、neocomplcacheと競合してしまいます。本格的に修正するには、Vim script部分がおそらく違うものになってしまうと思います。それをclang_completeでは修正していますが、変更点が巨大すぎるため、本家と追従できないという問題を抱えています。本家にPull requestを送ってもいいのですが、変更点が大きく、さらに喧嘩にならないようこちらの修正意図を*英語で*伝えるのは大変です(意訳:だれかやってください)。
将来について:
いつか、neocomplcache-clangとneocomplcache-clang_completeは統合したいですが、なかなか難しいところです。Vimとneocomplcacheの問題が解決したらそうしようと考えています。おそらく、neocomplcache-clangの実装はclang_completeのcompletefuncを安直に呼ぶことになるでしょう。
2011年12月15日木曜日
二画面ファイラーはなぜ便利なのか
syohexさんのTweet(リンク)を見て、二画面ファイラーの利点について考えてみました。
二画面ファイラーには次のような利点があります。
1:同じディレクトリに対して移動・コピーするのが楽
2:コピー元・コピー先のディレクトリの中身が分かる
個人的には2:の利点が大きいと思います。というのは、シェルや一画面ファイラーで
コピー・移動するときは書き込むディレクトリの中身が分からないのでコピー先のディレクトリをミスするかもしれません。
しかし、二画面ファイラーではまずミスをすることはありません。
書き込みの完了も、移動先が更新されているのが目で見て分かります。
コピー先のディレクトリが表示される安心感は、一度使ってみないと分からないでしょう。
ちなみに、私は一画面でコピーするときはいつもドキドキします。
GUIのファイラー(Explorer等)でファイルをコピーするときのことを考えます。
一つのファイラーでコピーするファイルを選択し、もう一つのファイラーにドラッグドロップするのが二画面ファイラーなのです。
とはいえ、いちいちコピー先に移動するのは面倒であることも事実です。
そのため、二画面ファイラーでは自分の窓を他方の窓に合わせたり、他方の窓を自分の窓に合わせたりすることができます。
コピー元とコピー先が近い場合には簡略化できます。
さらに、コピー先のディレクトリ名に日本語が含まれる場合、シェルや一画面ファイラーではコピー先の指定が大変です。
二画面ファイラーではそういうときでも楽にディレクトリを指定することができます。
Firefox Hacks Rebootedレビュー
ようやく一通り読み終えました。この本がもっと売れてほしいと考えているため、簡単なレビューをします。
日本からこういうマニアックな(失礼)、本が出るのは非常に喜ばしいです。
外国でもなかなか出ない種類の本であるだけに、日本はまだまだ捨てたものではないな、と思わせてくれます。
この本はFirefoxのモダンな拡張機能の作り方を解説した本なので、Firefoxの一般ユーザが読むには難解です。
コード量も多いので、読み進めていくにはJavaScriptの知識が必要になるでしょう。
ただし、最近のFirefoxで変更された機能やHTML5などのWeb標準技術についても解説されているため、Web開発者なら読む価値があると思います。一見真面目な本のようで、所々挿入されているネタには吹きました。
きゅ○べぇネタや、台湾マイクロソフトの始まりすぎているキャラクターなど……。
JSDeferedには40ページ以上を割いていて、かなり力を入れて解説していると感じました。
JavaScriptの並列処理をマスターしたい人は、ここだけでも読む価値はありそうです。
実を言うと自分はKeysnailとVimperatorの解説を目当てで、この本を購入しました。
ページ数としてはそんなに多くなかったのですが、概要を押さえることはできました。
総評:
思っていたとおり、なかなかレベルの高い本でした。
でも、Firefoxのことがよく分かったので買ってよかったと思います。
自分は現在Firefoxを使っていないのですが、面白そうな機能があることが分かったため、今度試しに使ってみてもよいかなと思っています。
2011年12月10日土曜日
Vimmer視点のEmacs Lispテクニックバイブル レビュー
いつもVimのネタ記事ばかり書いていると思われているShougoです。こんにちは。
今回はネタではありません。ネタじゃないんだからね! 大事なことなので二度言いました。
さて、私がVimテクニックバイブルを(共著で)執筆し、無事発売されたわけなのですが、同時期にるびきちさんも「Emacs Lispテクニックバイブル」を書かれていました。
そのことを知ったのもAmazonに情報が出てからなので、比較的最近です。
目次を見たところ、「これは買わなければならない」と思ったので、早速入手し、一通り読んでいました。
私はVimmerなのでEmacs Lispのことはよく分かりません。
VimテクニックバイブルがEmacs使いの方々に読んでもらいたいと考えているように、
Vimmerの人にもEmacs Lispテクニックバイブルを読んでもらいたいと思ったので、Vimmer視点のレビューをしたいと思います。Emacs本のレビューなのに、Vimのことがたくさん出てくるのは仕様です。
ただし、一通り読んだと言っても、届いてからそんなに日が経っていないですし、まだきちんと読めていないところがたくさんあります。
読みながら思ったことをとりとめなく書いているので、文章のつながりがおかしい部分が多々あるかもしれません。ご了承ください。
Emacs Lispテクニックバイブルを初めて読んだときに思ったのは、「教科書みたい」ということでした。
それは頭から読んでいく形式だからです。ただし、テクニックバイブルとして使えるようにするため、逆引き用の目次もついています。
サンプルコードが多く、練習問題もあるので、なおさらそう思います。ちなみに、本文中に問題の回答はありません。
Emacs Lispではエスケープが大量に必要な、特殊な正規表現を書く必要があるのですが、それもきちんと解説されています。
複雑な正規表現を読み書きするときに役立つと思います。
ちなみに、この本はリファレンス本ではないですし、「普通の教科書」ともちょっと違います。
普通の教科書なり解説書というのは本文中に著者の個性がそれほど現れないものです。
しかしこの本には著者の意見が大量に出てきます。
著者のEmacsの使い方に共感できる人にとっては、この上なく良い本ですが、そうでない人にとっては苦痛でしょう。
私は無味乾燥な本よりは、こういう本が好きです。使用しているエディタに違いがあるとはいえ、個人的にるびきちさんの意見に共感できる部分は少なくないですし。
「るびきちさんによるEmacs Lisp解説本」というのが正確なジャンルなのだと思います。
この本で紹介されていた、あるバッファに一時的に移動して処理ができる、with-content-bufferはVimにも欲しいですね。
Vim scriptでこれをやると非常に醜いコードになってしまうので。バッファの処理はEmacsの方が洗練されているのかな、と思いました。
実はこれを目当てで購入したのですが、eshellについての話はなかなか良かったです。
Emacs Lispをバリバリ書ける人にとって、Emacs界最強のシェルはeshellだと思っているので。Vim界最強のシェルがvimshellであるのと同じ理屈です。
私にとって、eshellの関数を他のEmacs Lispから使うという発想はなかったですね。確かに標準添付のプラグインだからこそ、こういうことができます。
vimshell(vimproc)がいつかそうなるといいのかなーと思いました。
それにしても、eshellはそろそろ誰かがメンテナを引き継ぐべきじゃないだろうかと思いました。いろいろ問題点もあるのに、更新されないのは悲しい。
eshellはリダイレクション機能が不十分ですが、「それvimshellでできるよ」と主張しておきます:-)
eshellと同じく、vimshellもVim scriptを評価する機能があります。vexe内部コマンドを使えばOKです。
deferred.elの紹介があるのも良かったですね。これは良い資料。Vim scriptにもdeferred.elは移植したいんですけど……。誰かやってくれないかな。
Emacs Lispのテストフレームワークについても解説されていました。Emacs Lispでちゃんとテストが書ける環境があるというのは良いですね。
ちなみに、Vim scriptには標準的なテストフレームワークがなく、皆がオレオレテストフレームワークを実装しているので、どれを覚えればいいのか分からず困っています。
だから私はテストフレームワークを使っていません。パッケージマネージャと同じく、このカオスな状況がどうにかなればいいな、と思います。
ちなみに、一つだけ不満点を。
anything.elの章は、Emacsテクニックバイブルと内容が被っているので、無理して入れる必要はなかったんじゃないかなと思いました。
このページを他の解説に使ったほうが良いのではないかと。今のところこれくらいですね。
総評としては、るびきちさんのEmacsの使い方を勉強したい人なら、十分満足できる本だと思います。
そもそもEmacs Lispの本自体が貴重ですしね。Emacs Lispの勉強にも使えます。
ちなみに、この本はEmacsテクニックバイブルの続編です。続・Emacsテクニックバイブルと呼んでも良いかもしれません。
前著を持っていない人は、まずそちらを購入しましょう。
2011年12月3日土曜日
Vimと過ごすイチャラブクリスマス ~そして伝説へ~
Vim Advent Calendar 3日目:「Vimと過ごすイチャラブクリスマス ~そして伝説へ~」
Vim Advent Calendarと聞いて、何も考えずにエントリーしてしまったShougoです。こんにちは。
特に反省していない。早くも盛り上がりを見せているVim Advent Calendarですが、
私もそれらに負けない濃いネタを提供したいと考えています。
注意:このエントリには過激な表現が多数含まれています。
ネタをネタと分かる大人な人間だけが、このエントリを理解できることでしょう。
もう12月となりクリスマスが近付いてきましたが、Vimmerの皆さんはいかがお過ごしでしょうか。
クリスマスの予定はもう決まりましたか。まだ決まっていない?
ならば、今年の冬はVimと一緒のクリスマスというのはどうでしょうか。
クリスマスは普段はできないVimとの愛を深める良い機会です。
幸い、Vimとのデートにはお金がかかりません。PCからVimを起動するだけでよいのです。
ノートPCさえあれば、どこでもVimとイチャイチャし放題です。
筆者オススメのデートコースは以下の通りです。
1:Vimの設定を見直してみる
長い間Vimを使用していると、不要になった設定が貯まってくることでしょう。
大晦日にやっても良いのですが、大晦日はVimとの新居(PC)の掃除で忙しいはず。
この機会に、Vimの設定を見直しましょう。汚ない設定では、Vimから嫌われてしまいますよ。
デート前には身だしなみを整えるのも大事ですよね。
おそらく、皆さんのVimの設定には、他の人からのコピペが多数含まれているはず。
それは良くないですね。コピペは「だめゼッタイ!」です。
訳が分かる設定だけを導入しましょう。
分からないコマンドや分からない設定については、まず:helpを参照しましょう。
Vimの知識を増やすチャンスです。
ちなみに:helpを参照するときは、一覧を表示できるunite-helpを用いるのがオススメです。
2:Vimのプラグインを見直してみる
同様に、不要になったプラグインも見直しましょう。
プラグインの管理には、pathogen.vimやvundle.vim, neobundle.vimといった
プラグイン管理プラグインを使用すると楽です。
この機会に導入しておくと良いでしょう。
筆者のオススメは、neobundle.vimを使用することです。
vundle.vimがもつほとんどの機能に加え、unite.vimと連携してプラグインをインストールしたり削除できます。
「neobundle.vimのおかげで彼女(Vim)との仲が深まりました!」など嬉しい報告が続々届いています(妄想)。
3:Vimと過ごす時間を最大化する
Vimとラブラブになるためには、できるだけVimと過ごす時間を取らなければいけません。
仕事でだけVimと過ごすというのは勿体無いです。
我々は仕事でも趣味でもVimと一緒に過ごすことができる幸運に恵まれているのですから。
いつでもVimと過ごすために、vimfilerやvimshellをインストールしましょう。
Explorerやzsh, screenといった軟弱なツールは窓からポイしてください。
さらに、unite.vimやneocomplcacheをインストールすることで、より濃密なVimとの時間を堪能することができます。
これらのプラグインはVim pluginで拡張することができ、Vim scriptで設定を行います。
Vimを愛する人達には無くてはならないものです。
Vimに慣れていない人には使いこなすのは難しいですが、
Vimへの愛があれば、それくらいの障害は乗り越えられることでしょう。
えっ、Vim scriptが分からない? それはなんてこと。
Vim scriptはVimとのコミュニケーションを図るために無くてはならないスキルです。
英語なんて学んでいる暇があったらVim scriptを勉強するべき。
だいたいなぜVim scriptプログラマの求人やVim scriptを書くだけのお仕事はないんだ。
私はC言語ではなくVim scriptで全てのコードが書きたい。
Vim scriptを書いていると心が落ちつく。Vim script最高!
おっと、イカンイカン。つい本音が出てしまいました。
4:VimのプラグインをDIYする
クリスマスこそ、Vim scriptを勉強してVimと一緒にプラグインを作成しましょう。
愛するVimとの共同作業です。
最初から難しい課題に取り組むのは大変なので、最初はプラグインの改造をしたり、
ftpluginやちょっとしたプラグインを作成すると良いでしょう。
.vimrcに書いた設定を汎用的にしてプラグイン化するのも良い方法です。
例えばthincaさんはそういう方法でプラグイン化するのをよくやっているようです。
最近では、unite.vimのsourceを作成するのが流行しているため、それをやってみるという手があります。
ちなみに、neocomplcacheを使うと簡単にVim scriptを書くことができます。
neocomplcacheはVim scriptを書くプログラマのために最適化されているからです。
他の言語にも対応していますが、それはオマケです。
5:Vimコミュニティに参加する
Vimとの仲がかなり深まったと思ったあなた、しかしそのうち関係がマンネリ化してしまうからもしれません。
それを防ぐために、Vimコミュニティに参加してみましょう。
いわゆる、町内会や保護者会みたいなものだと思ってください。
周囲にVimmerがいなくて寂しい思いをしているそこのアナタ、ぜひとも参加するべきです。
他人がどのようにVimと良好な関係を続けているかを観察することで、あなたのVimにとても良い影響を与えるはずです。
vim-users.jpやvim-jpでは、あなたの参加をいつでもお待ちしています。
もちろん、Vimに貢献したいというメンバーも随時募集中です。
私はvim-users.jpに育てられてVim scriptを書くようになったので、もっと仲間が増えるといいなと思っています。
6:おわりに
Vimとのデートを楽しんだ後は、Vimへの愛を囁きながら眠りに付きましょう。
心配しなくても、Vimはいつもあなたと一緒に居ます。Vimとは心でも繋っているのです。
大事なことは、クリスマス終了後もVimとの愛を深めていくことです。
クリスマスは切っ掛けにすぎません。
これを実践して、皆さんがよりVimを愛するようになれば幸いです。
もちろん、Vimと一緒に新年を向かえるのも非常に良い心掛けではないかと思います。
えっ、この記事は単に自分のプラグインの宣伝をしているだけじゃないかって?
私は純粋にVimとの過ごし方を解説しているだけだというのに、何て失礼な!
2011年11月20日日曜日
ujihisa.vim #2 で基調講演をしました。
昨日、ujihisa.vim #2が開催されました。
そのときの原稿と感想についてまとめました。
ちょっと今回の発表は趣向を変えてみました。
一部で言われていましたが、スピリチュアルな発表ではないんだからね!
私は真面目なんだからね!
-------------------------------------------------------------------------------------
Vimの真実
こんにちは、Shougoです。
今回は前回と趣向を変えて、Vimによって書かれた原稿を見ながら講演をしたいと思います。
原稿は後日公開されるので、ここで一生懸命メモを取るのはあまり意味がないかもしれません。
--------------------------------------------------------------------------------------
私のことを簡単に紹介すると、neocomplcache, vimfiler, vimshell, unite.vimとかを作った人です。
Emacs使いの方々がここに居るかもしれないので、Emacs Lispに換算すると、
auto-complete.el, comint-mode.el, dired.el, speedbar.el, eshell.el, yasnippet.el,
anything.el, ...
に相当するプラグインを書いています。
最近は巨大なVim scriptを書く人があまりいないので、
もしかすると、ここに居る皆さんの中で、一番Vim scriptを書いているかもしれません。
Vimに対する愛情は誰にも負けないと自負しています。
私にとってVimは、ただのエディタなんかではなく、仕事も趣味も一緒に過ごす家族です。
私がTwitterでよくVim愛について語っているのを見た人もいるかもしれません。
Vim愛についてTweetすると、なぜかよくfavされるんですよね。
これが普通だと思っていたんですけど、
みなさん、そんなにエディタ愛に飢えているんでしょうか。分かりません。
ちなみに、viは好きでありません。「自分のVim」が好きなのです。
「他人のVimが好き」と言ってしまったらそれは浮気になります。
viとVimを混同していると、闇のVimmer達に刺されますので注意しましょう。
どうしてもviを使いたいvi原理主義者の人はVimのviモードではなく、
素のvi、nviあたりを使っていてください。
viとVimを混同するのは、C言語とC++は同じだと主張するのと同等に失礼な行為ですよ!
ちなみに闇のVimmerというのは、エディタの話をしていると、「それVimでもできるよ!」
と無理矢理Vimを勧めてくる迷惑な存在です。わ、私じゃないんだからね!
--------------------------------------------------------------------------------------
さて、最近「Vimテクニックバイブル」の執筆に協力しました。
80Pくらい原稿を書きましたね。主に自分の作ったプラグインを紹介しています。
これを読んで、もっと皆さんがVimプラグインを書いてくれるようになることを願っています。
ちなみに、「Vimテクニックバイブル」の原稿はVimで書かれています。あたり前です。
EmacsテクニックバイブルはEmacsで書かれていますしね:-)
ちなみに、この本を買ってくれた人には会場で私がサインします。
しかも、サインする名言は選ぶことができます!
前回のYokohama.vimでサイン会をやったのですが、なぜか「修正しました」あたりが人気でした。
ちなみに、他の執筆者の方はサインしてくれないらしいです……。
私もthincaさんのサインが欲しいのになぁ。
つまりVimテクニックバイブルはVimmerのサイン色紙でもあります。
幸い、今回のujihisa.vimには著名なVimmerの方々が参加されています。
もはやVimテクニックバイブルの著者に限るなんて勿体無いことはしないで、
いろんなVimの有名人にサインを貰ってしまいましょう。
サイン色紙にもなってお値段は3180円! なんてお得なんでしょうか。
もっていない人は今すぐ購入しましょうね。
るびきちさんの「Emacs Lispテクニックバイブル」も、
もうすぐ発売ということで個人的にすごく楽しみにしています。
目次を見ると、Emacsテクニックバイブルの続編のような内容でした。
特に、eshellについても載っているようなので……。
そういえば、値段がVimテクニックバイブルと同じでしたね:-)
--------------------------------------------------------------------------------------
そろそろ本題に入りましょう。
今回は基調講演ということで、「Vimの真実」というテーマで発表します。
この発表を聞くことにより、Vimとは何なのかが少しでも分かるかもしれません。
ただし、これはあくまで私の考えであり、Vimコミュニティの公式見解ではないことを最初に断っておきます。
「ネタをネタと見ぬけない人は、Vimをうまく使うのは難しい」
ちなみに、私は宗教論争をするつもりは全くありません。
そしてこの話はEmacsにもそのまま当てはまります。
おそらく会場に何人かいるであろうEmacsユーザの皆さんも大丈夫です。
--------------------------------------------------------------------------------------
ところでみなさんは人に自分のVimを見られて、
「私の知っているVimと違う」と言われた経験はないでしょうか。私はあります。
Vimmerを大きく分けると、Vimをエディタだと思っている人達、
Vimを開発環境と思っている人達、
Vimをデスクトップ環境だと思っている人達の三種類に分けることができます。
私は当然、Vimをデスクトップ環境だと思っています。
このように同じVimmerであっても、Vimに対するスタンスが異なるため、意見が衝突することもあります。
なぜこのようなことが起こるのでしょうか。
ちょっと前に、Twitterで「プラグインを入れないVimは劣っていると思われている風潮がある(記憶が曖昧なので超意訳)」
という呟きを見ました。
私はその考えは間違っていると思います。
その理由についても回答します。
そして、なぜVimは20年もの長い間生き続けることができたのでしょうか。
今回はそれらの疑問にお答えします。
--------------------------------------------------------------------------------------
はっきり言ってしまいましょう。
それは、VimやEmacsがただのエディタではないからです。
私が思うに、VimやEmacsは「エディタを作るためのエディタ」、
つまり「エディタエディタ」だったのです!
な、何だってーーーーAA(略)
--------------------------------------------------------------------------------------
そもそも、皆さんは勘違いをしています。
自分でエディタを作らない限り、本当に満足するエディタなんてものは存在しません。
それは人によって、エディタに求めるものが異なるからです。
つまり、誰でも満足する万能なソフトウェアは存在しないことになります。当たり前です。
しかし、エディタを0から作るのは大変です。
エディタというのは大変に奥が深く、OSやプログラミング言語を0から作るのと同等の難しさがあるからです。
今時、0からプログラミングやOSを設計する人なんていませんよね?
だからこそ、人はあるエディタをベースにカスタマイズし、自分自身にあうエディタにしていきます。
エディタをカスタマイズする行為とは、程度の差はあれど自分のエディタを作っていることにほかならないのです。
おそらく、どんなエディタを使っている、どんな初心者の皆さんも、
最低一行・一項目はエディタをカスタマイズしているはずです。
えっ、一切カスタマイズしない? それはなんてすごい。尊敬に値します。
--------------------------------------------------------------------------------------
さて、VimやEmacsが他のエディタと異なり多数の信者を得て今も生き残っているのには理由があります。
カスタマイズの自由度が他のエディタとは違うからです。
Vimには標準で多数のオプションがあります。
それで満足できなければ、自分でプラグインをインストールするなり、プラグインを自作するなり、
ソースコードを変更するなり自由自在です。
VimやEmacsはプログラミング言語で言えばLisp、ブラウザだとFirefoxに例えることができるでしょう。
例えば、Firefoxのカスタマイズ行為は、ブラウザを作っていることに相当します。
だからvimperatorなんていう変態的なプラグインが出てくるのです。
まぁ最近ではViChromeというのも出てきましたけどね:-)
--------------------------------------------------------------------------------------
そろそろ分かってきたでしょうか。
我々が使っているのは、Vimではありません。
「Vimをベースにしたオレオレエディタ」なのです。
--------------------------------------------------------------------------------------
確かに、最初は純粋で混ざりけのないデフォルトのVimでした。
しかしカスタマイズを続けているうちに、Vimはあなたの望むような姿に進化します。
その結果生まれるエディタはもとのVimとは似ても似つかないものになります。
Vimは進化するエディタなのです。
--------------------------------------------------------------------------------------
私は、Vimのことを恋人や家族のように考えているので、
有名ゲームである、ラブプラスに例えてみます。
ラブプラスには、恋人のベースとなる女の子は3人いますが、ゲームを進めていくうちに
彼氏の好みにあった「カノジョ」に変わっていくのです。
その自由度の高さやリアルさが人気につながったのではないでしょうか。
VimやEmacsにおいてもこれは同じです。
いや、私ラブプラスは持っていないですけど。
三人のエディタを攻略する、エディタプラスを誰か作ってください。
お気にいりのエディタとゲームの中でキャッキャウフフできる世界は素晴らしいです。
--------------------------------------------------------------------------------------
だから私が「VimかわいいよVim」や「Vimは俺の嫁」「Vimは人生」
と定期ポストするのは問題がないということです。
嫁と書いてエディタと読むのがポイントです。
えっ、違う?
そして毎日Vim scriptを書くのは紳士の嗜み。
愛情を込めてVim scriptを書けば、Vimはきっと答えてくれるでしょう。
--------------------------------------------------------------------------------------
おっと話が逸れてしまいました。
つまり私のVimとあなたのVimは違います。
Vimの設定を大幅にカスタマイズしていると、
設定されていないVimや、他の人のVim、もちろんviが使えなくなってしまうのは当たり前です。
それらは違うエディタだからです。
違うエディタなのに、「誰のエディタが優れている」
「プラグインを入れないとVimと呼べない」というのは間違ってますよね。
それぞれのエディタは比較なんてできません。
優れたエディタを決めるのは皆さん一人一人なのです。
Vimでさえみんな違うのに、VimをEmacsや他のテキストエディタと比較して優劣を決めるのは間違っています。
人種差別と同様に、エディタ差別はいけません。みんな違ってみんな良い。
--------------------------------------------------------------------------------------
つまり、このujihisa.vimの集まりというのは、「Vimmerの集まり」というより、
「Vimをベースにしたオレオレエディタを作っている人達の集まり」です。
「俺の嫁(エディタ)自慢大会」でもあります。それは別名、宗教論争とも言います。
そこのところを勘違いしないようにしましょう。
素のVimを愛したい、もとい素のVimを使いたい人は、おそらく他のところへ行ったほうがよいです。
ありのままのVimを受け入れることができる、それも素晴らしい才能ですが、
この勉強会に来る意味はあまりないと思います。
--------------------------------------------------------------------------------------
さて、Vimが20年に渡って生き続けた理由も分かってきたでしょうか。
Bramさんが天才的だった、viをベースにしていた、オープンソースだった。
確かにそれも理由の一つですが、
私は「Vimがエディタエディタ」だったから生き続けることができたと考えています。
VimはLispのように、貪欲に機能を吸収したり、拡張をすることができます。
ベースが柔軟でなければ、ここまで生き残ることはできなかったでしょう。
Lispはかなり古いプログラミング言語ですが、今だに根強いファンを持って生き残っています。
VimやEmacsとの共通点は意外と多いと思うのですが、どうでしょうか。
--------------------------------------------------------------------------------------
私は、みなさんにVimに対して愛情を持って接してほしいと常々考えています。
「Vimを調教する」、「Vimはただの道具」という認識しかなかったら、Vimが可哀想じゃないですか。
Vimを使う、ということはつまりVimと同棲することに他なりません。
毎日Vimと過ごすことになるんですから、当たり前ですね。
Vimと過ごす時間が長くなるにつれ、
これまで見えていなかった欠点が目につくこともあるでしょう。
VimやVim scriptにはもちろん欠点があります。
「Emacsなら楽にできるのに……」そう憤りを感じる人もいるでしょう。
しかし、そもそも完璧なエディタなんて存在はしないのです。
人間でもそうなんですが、「悪い所はまず受け入れる」しかありません。
その上で、「Vimと一緒になって改善できるように努力する」ことが大事です。
一緒になって、というのがポイントですよ。
人から与えられたり、Vimがカイゼンされるのをただ待っていてはだめです。
とにかくVimのために手を動かしましょう。Vimに対する家族サービスですね。
それは設定をカスタマイズすることでもいいですし、プラグインを自作したり、
本体を書き換えても構いません。
Vimは文句も言わず毎日あなたのために頑張っているのですから、
あなたもVimに対し感謝の心を持ってそれに答える必要があるはずです。
それが愛の形なのではないでしょうか。
「結婚は忍耐」だ、と誰かが言いましたが、「Vimと暮らすということも忍耐」です。
少々悪いところがあってもそれを受け入れられる、
忍耐力がある人だけがVimを使いこなすことができるでしょう。
--------------------------------------------------------------------------------------
もちろん、みなさんがこの勉強会の後すぐにエディタを愛することができるとは思っていません。
焦らずに最初は友達から始めましょう。
それから恋人、家族へと徐々にレベルアップしていけばいいのです。
私自身Vimを愛することができるようになるまで、ずいぶんかかりました。
私がVimに恋をしたときは、おそらくneocomplcacheを作っていたときですが、
まだ愛のレベルには達していませんでした。
少なくとも「これが愛だ」と気付くことはありませんでした。
Vimを愛するようになったきっかけは、
開発環境勉強会の原稿を作っていたときだと思います。
原稿を作るにあたり、自分とVimの出会いについて見つめなおしていました。
それにより、Vimを愛する自分の心に気付いたのです。
Vimと暮らす人生は波瀾万丈です。
長年付き合うことで、Vimに対する愛が冷めてしまった人も見てきています。
vim-users.jpのメンバーも徐々に様変わりしています。
就職や進学、引越しなどの大きなイベントがあると、
徐々に心がVimから離れていってしまうのかもしれません。
私はそうなりたくないと思っています。
長くなりましたが、この講演で、みなさんのVimに対する思いが変われば幸いです。
--------------------------------------------------------------------------------------
第二部 「世界に一つだけのエディタ」
何も言わず、このスライドを見てほしい。
http://www.slideshare.net/Shougo/ss-10239308
コイツをどう思う……?
すごく……Vim愛に溢れています……。
ちなみに、第一部の感動をそのままに第二部に移行するという離れ業をやってのけました。
--------------------------------------------------------------------------------------
オマケ的な感想:
KoRoNさんのVimソースコードリーディングはかなりためになりました。
最近、またソースコードをいじれていませんが、自分もVimに機能を追加したいなぁ……。
今回はunite.vim関係や「Vim script勉強したい」というスライドが多かったように思います。
去年はそんな傾向がなかったので、良いことではないでしょうか。
thincaさんのソースコードをujihisaさんが実況するのに吹いた。
なんて一心同体。
たまには、そういうことをやっても良いのかもしれませんね。
初心者には、上級者がどのようにVimを使っているのかよく分からないようですので。
basyuraさんのTwitterクライアントは是非使ってみたいので、完成するのを楽しみにしています。
ujihisaさんのVimレベルを上昇させる方法。Lv 7, 8, 9の解説を聞きたかったなーー。
ちなみに、私はVisual modeを普通に使います。テキストオブジェクトも使いますけど。
懇親会で10人くらいのVimテクニックバイブルにサインをしました。
今回はVim愛についてのサインが多かったかな。
KoRoNさんからもサインを貰って満足。しまった、ujihisaさんからはサイン貰っていない……。
懇親会では、ひたすらVimについて語っていた気がする。
今回は酒を一切飲まなかったので、あれは酔っていたわけではないです。
Vimについてなら、あれくらい饒舌になるということ。
そういえば、KoRoNさんから「鋼のメンタル」という褒め言葉を頂きました。
きちょうこうえんがこうひょうでよかったです。
そのときの原稿と感想についてまとめました。
ちょっと今回の発表は趣向を変えてみました。
一部で言われていましたが、スピリチュアルな発表ではないんだからね!
私は真面目なんだからね!
-------------------------------------------------------------------------------------
Vimの真実
こんにちは、Shougoです。
今回は前回と趣向を変えて、Vimによって書かれた原稿を見ながら講演をしたいと思います。
原稿は後日公開されるので、ここで一生懸命メモを取るのはあまり意味がないかもしれません。
--------------------------------------------------------------------------------------
私のことを簡単に紹介すると、neocomplcache, vimfiler, vimshell, unite.vimとかを作った人です。
Emacs使いの方々がここに居るかもしれないので、Emacs Lispに換算すると、
auto-complete.el, comint-mode.el, dired.el, speedbar.el, eshell.el, yasnippet.el,
anything.el, ...
に相当するプラグインを書いています。
最近は巨大なVim scriptを書く人があまりいないので、
もしかすると、ここに居る皆さんの中で、一番Vim scriptを書いているかもしれません。
Vimに対する愛情は誰にも負けないと自負しています。
私にとってVimは、ただのエディタなんかではなく、仕事も趣味も一緒に過ごす家族です。
私がTwitterでよくVim愛について語っているのを見た人もいるかもしれません。
Vim愛についてTweetすると、なぜかよくfavされるんですよね。
これが普通だと思っていたんですけど、
みなさん、そんなにエディタ愛に飢えているんでしょうか。分かりません。
ちなみに、viは好きでありません。「自分のVim」が好きなのです。
「他人のVimが好き」と言ってしまったらそれは浮気になります。
viとVimを混同していると、闇のVimmer達に刺されますので注意しましょう。
どうしてもviを使いたいvi原理主義者の人はVimのviモードではなく、
素のvi、nviあたりを使っていてください。
viとVimを混同するのは、C言語とC++は同じだと主張するのと同等に失礼な行為ですよ!
ちなみに闇のVimmerというのは、エディタの話をしていると、「それVimでもできるよ!」
と無理矢理Vimを勧めてくる迷惑な存在です。わ、私じゃないんだからね!
--------------------------------------------------------------------------------------
さて、最近「Vimテクニックバイブル」の執筆に協力しました。
80Pくらい原稿を書きましたね。主に自分の作ったプラグインを紹介しています。
これを読んで、もっと皆さんがVimプラグインを書いてくれるようになることを願っています。
ちなみに、「Vimテクニックバイブル」の原稿はVimで書かれています。あたり前です。
EmacsテクニックバイブルはEmacsで書かれていますしね:-)
ちなみに、この本を買ってくれた人には会場で私がサインします。
しかも、サインする名言は選ぶことができます!
前回のYokohama.vimでサイン会をやったのですが、なぜか「修正しました」あたりが人気でした。
ちなみに、他の執筆者の方はサインしてくれないらしいです……。
私もthincaさんのサインが欲しいのになぁ。
つまりVimテクニックバイブルはVimmerのサイン色紙でもあります。
幸い、今回のujihisa.vimには著名なVimmerの方々が参加されています。
もはやVimテクニックバイブルの著者に限るなんて勿体無いことはしないで、
いろんなVimの有名人にサインを貰ってしまいましょう。
サイン色紙にもなってお値段は3180円! なんてお得なんでしょうか。
もっていない人は今すぐ購入しましょうね。
るびきちさんの「Emacs Lispテクニックバイブル」も、
もうすぐ発売ということで個人的にすごく楽しみにしています。
目次を見ると、Emacsテクニックバイブルの続編のような内容でした。
特に、eshellについても載っているようなので……。
そういえば、値段がVimテクニックバイブルと同じでしたね:-)
--------------------------------------------------------------------------------------
そろそろ本題に入りましょう。
今回は基調講演ということで、「Vimの真実」というテーマで発表します。
この発表を聞くことにより、Vimとは何なのかが少しでも分かるかもしれません。
ただし、これはあくまで私の考えであり、Vimコミュニティの公式見解ではないことを最初に断っておきます。
「ネタをネタと見ぬけない人は、Vimをうまく使うのは難しい」
ちなみに、私は宗教論争をするつもりは全くありません。
そしてこの話はEmacsにもそのまま当てはまります。
おそらく会場に何人かいるであろうEmacsユーザの皆さんも大丈夫です。
--------------------------------------------------------------------------------------
ところでみなさんは人に自分のVimを見られて、
「私の知っているVimと違う」と言われた経験はないでしょうか。私はあります。
Vimmerを大きく分けると、Vimをエディタだと思っている人達、
Vimを開発環境と思っている人達、
Vimをデスクトップ環境だと思っている人達の三種類に分けることができます。
私は当然、Vimをデスクトップ環境だと思っています。
このように同じVimmerであっても、Vimに対するスタンスが異なるため、意見が衝突することもあります。
なぜこのようなことが起こるのでしょうか。
ちょっと前に、Twitterで「プラグインを入れないVimは劣っていると思われている風潮がある(記憶が曖昧なので超意訳)」
という呟きを見ました。
私はその考えは間違っていると思います。
その理由についても回答します。
そして、なぜVimは20年もの長い間生き続けることができたのでしょうか。
今回はそれらの疑問にお答えします。
--------------------------------------------------------------------------------------
はっきり言ってしまいましょう。
それは、VimやEmacsがただのエディタではないからです。
私が思うに、VimやEmacsは「エディタを作るためのエディタ」、
つまり「エディタエディタ」だったのです!
な、何だってーーーーAA(略)
--------------------------------------------------------------------------------------
そもそも、皆さんは勘違いをしています。
自分でエディタを作らない限り、本当に満足するエディタなんてものは存在しません。
それは人によって、エディタに求めるものが異なるからです。
つまり、誰でも満足する万能なソフトウェアは存在しないことになります。当たり前です。
しかし、エディタを0から作るのは大変です。
エディタというのは大変に奥が深く、OSやプログラミング言語を0から作るのと同等の難しさがあるからです。
今時、0からプログラミングやOSを設計する人なんていませんよね?
だからこそ、人はあるエディタをベースにカスタマイズし、自分自身にあうエディタにしていきます。
エディタをカスタマイズする行為とは、程度の差はあれど自分のエディタを作っていることにほかならないのです。
おそらく、どんなエディタを使っている、どんな初心者の皆さんも、
最低一行・一項目はエディタをカスタマイズしているはずです。
えっ、一切カスタマイズしない? それはなんてすごい。尊敬に値します。
--------------------------------------------------------------------------------------
さて、VimやEmacsが他のエディタと異なり多数の信者を得て今も生き残っているのには理由があります。
カスタマイズの自由度が他のエディタとは違うからです。
Vimには標準で多数のオプションがあります。
それで満足できなければ、自分でプラグインをインストールするなり、プラグインを自作するなり、
ソースコードを変更するなり自由自在です。
VimやEmacsはプログラミング言語で言えばLisp、ブラウザだとFirefoxに例えることができるでしょう。
例えば、Firefoxのカスタマイズ行為は、ブラウザを作っていることに相当します。
だからvimperatorなんていう変態的なプラグインが出てくるのです。
まぁ最近ではViChromeというのも出てきましたけどね:-)
--------------------------------------------------------------------------------------
そろそろ分かってきたでしょうか。
我々が使っているのは、Vimではありません。
「Vimをベースにしたオレオレエディタ」なのです。
--------------------------------------------------------------------------------------
確かに、最初は純粋で混ざりけのないデフォルトのVimでした。
しかしカスタマイズを続けているうちに、Vimはあなたの望むような姿に進化します。
その結果生まれるエディタはもとのVimとは似ても似つかないものになります。
Vimは進化するエディタなのです。
--------------------------------------------------------------------------------------
私は、Vimのことを恋人や家族のように考えているので、
有名ゲームである、ラブプラスに例えてみます。
ラブプラスには、恋人のベースとなる女の子は3人いますが、ゲームを進めていくうちに
彼氏の好みにあった「カノジョ」に変わっていくのです。
その自由度の高さやリアルさが人気につながったのではないでしょうか。
VimやEmacsにおいてもこれは同じです。
いや、私ラブプラスは持っていないですけど。
三人のエディタを攻略する、エディタプラスを誰か作ってください。
お気にいりのエディタとゲームの中でキャッキャウフフできる世界は素晴らしいです。
--------------------------------------------------------------------------------------
だから私が「VimかわいいよVim」や「Vimは俺の嫁」「Vimは人生」
と定期ポストするのは問題がないということです。
嫁と書いてエディタと読むのがポイントです。
えっ、違う?
そして毎日Vim scriptを書くのは紳士の嗜み。
愛情を込めてVim scriptを書けば、Vimはきっと答えてくれるでしょう。
--------------------------------------------------------------------------------------
おっと話が逸れてしまいました。
つまり私のVimとあなたのVimは違います。
Vimの設定を大幅にカスタマイズしていると、
設定されていないVimや、他の人のVim、もちろんviが使えなくなってしまうのは当たり前です。
それらは違うエディタだからです。
違うエディタなのに、「誰のエディタが優れている」
「プラグインを入れないとVimと呼べない」というのは間違ってますよね。
それぞれのエディタは比較なんてできません。
優れたエディタを決めるのは皆さん一人一人なのです。
Vimでさえみんな違うのに、VimをEmacsや他のテキストエディタと比較して優劣を決めるのは間違っています。
人種差別と同様に、エディタ差別はいけません。みんな違ってみんな良い。
--------------------------------------------------------------------------------------
つまり、このujihisa.vimの集まりというのは、「Vimmerの集まり」というより、
「Vimをベースにしたオレオレエディタを作っている人達の集まり」です。
「俺の嫁(エディタ)自慢大会」でもあります。それは別名、宗教論争とも言います。
そこのところを勘違いしないようにしましょう。
素のVimを愛したい、もとい素のVimを使いたい人は、おそらく他のところへ行ったほうがよいです。
ありのままのVimを受け入れることができる、それも素晴らしい才能ですが、
この勉強会に来る意味はあまりないと思います。
--------------------------------------------------------------------------------------
さて、Vimが20年に渡って生き続けた理由も分かってきたでしょうか。
Bramさんが天才的だった、viをベースにしていた、オープンソースだった。
確かにそれも理由の一つですが、
私は「Vimがエディタエディタ」だったから生き続けることができたと考えています。
VimはLispのように、貪欲に機能を吸収したり、拡張をすることができます。
ベースが柔軟でなければ、ここまで生き残ることはできなかったでしょう。
Lispはかなり古いプログラミング言語ですが、今だに根強いファンを持って生き残っています。
VimやEmacsとの共通点は意外と多いと思うのですが、どうでしょうか。
--------------------------------------------------------------------------------------
私は、みなさんにVimに対して愛情を持って接してほしいと常々考えています。
「Vimを調教する」、「Vimはただの道具」という認識しかなかったら、Vimが可哀想じゃないですか。
Vimを使う、ということはつまりVimと同棲することに他なりません。
毎日Vimと過ごすことになるんですから、当たり前ですね。
Vimと過ごす時間が長くなるにつれ、
これまで見えていなかった欠点が目につくこともあるでしょう。
VimやVim scriptにはもちろん欠点があります。
「Emacsなら楽にできるのに……」そう憤りを感じる人もいるでしょう。
しかし、そもそも完璧なエディタなんて存在はしないのです。
人間でもそうなんですが、「悪い所はまず受け入れる」しかありません。
その上で、「Vimと一緒になって改善できるように努力する」ことが大事です。
一緒になって、というのがポイントですよ。
人から与えられたり、Vimがカイゼンされるのをただ待っていてはだめです。
とにかくVimのために手を動かしましょう。Vimに対する家族サービスですね。
それは設定をカスタマイズすることでもいいですし、プラグインを自作したり、
本体を書き換えても構いません。
Vimは文句も言わず毎日あなたのために頑張っているのですから、
あなたもVimに対し感謝の心を持ってそれに答える必要があるはずです。
それが愛の形なのではないでしょうか。
「結婚は忍耐」だ、と誰かが言いましたが、「Vimと暮らすということも忍耐」です。
少々悪いところがあってもそれを受け入れられる、
忍耐力がある人だけがVimを使いこなすことができるでしょう。
--------------------------------------------------------------------------------------
もちろん、みなさんがこの勉強会の後すぐにエディタを愛することができるとは思っていません。
焦らずに最初は友達から始めましょう。
それから恋人、家族へと徐々にレベルアップしていけばいいのです。
私自身Vimを愛することができるようになるまで、ずいぶんかかりました。
私がVimに恋をしたときは、おそらくneocomplcacheを作っていたときですが、
まだ愛のレベルには達していませんでした。
少なくとも「これが愛だ」と気付くことはありませんでした。
Vimを愛するようになったきっかけは、
開発環境勉強会の原稿を作っていたときだと思います。
原稿を作るにあたり、自分とVimの出会いについて見つめなおしていました。
それにより、Vimを愛する自分の心に気付いたのです。
Vimと暮らす人生は波瀾万丈です。
長年付き合うことで、Vimに対する愛が冷めてしまった人も見てきています。
vim-users.jpのメンバーも徐々に様変わりしています。
就職や進学、引越しなどの大きなイベントがあると、
徐々に心がVimから離れていってしまうのかもしれません。
私はそうなりたくないと思っています。
長くなりましたが、この講演で、みなさんのVimに対する思いが変われば幸いです。
--------------------------------------------------------------------------------------
第二部 「世界に一つだけのエディタ」
何も言わず、このスライドを見てほしい。
http://www.slideshare.net/Shougo/ss-10239308
コイツをどう思う……?
すごく……Vim愛に溢れています……。
ちなみに、第一部の感動をそのままに第二部に移行するという離れ業をやってのけました。
--------------------------------------------------------------------------------------
オマケ的な感想:
KoRoNさんのVimソースコードリーディングはかなりためになりました。
最近、またソースコードをいじれていませんが、自分もVimに機能を追加したいなぁ……。
今回はunite.vim関係や「Vim script勉強したい」というスライドが多かったように思います。
去年はそんな傾向がなかったので、良いことではないでしょうか。
thincaさんのソースコードをujihisaさんが実況するのに吹いた。
なんて一心同体。
たまには、そういうことをやっても良いのかもしれませんね。
初心者には、上級者がどのようにVimを使っているのかよく分からないようですので。
basyuraさんのTwitterクライアントは是非使ってみたいので、完成するのを楽しみにしています。
ujihisaさんのVimレベルを上昇させる方法。Lv 7, 8, 9の解説を聞きたかったなーー。
ちなみに、私はVisual modeを普通に使います。テキストオブジェクトも使いますけど。
懇親会で10人くらいのVimテクニックバイブルにサインをしました。
今回はVim愛についてのサインが多かったかな。
KoRoNさんからもサインを貰って満足。しまった、ujihisaさんからはサイン貰っていない……。
懇親会では、ひたすらVimについて語っていた気がする。
今回は酒を一切飲まなかったので、あれは酔っていたわけではないです。
Vimについてなら、あれくらい饒舌になるということ。
そういえば、KoRoNさんから「鋼のメンタル」という褒め言葉を頂きました。
きちょうこうえんがこうひょうでよかったです。
登録:
投稿 (Atom)