2013年12月19日木曜日

特技はVim

面接官「特技はVimとありますが?」
学生 「はい。Vimです」
面接官「Vimとは何のことですか?」
学生 「テキストエディタです」
面接官「え、テキストエディタ?」
学生 「はい。テキストエディタです。オープンソースで開発され、無料で利用できます」
面接官「・・・で、そのVimは当社において働くうえで何のメリットがあるとお考えですか?」
学生 「はい。テキストファイルを編集できます」
面接官「いや、当社には編集するようなテキストファイルはありません」
学生 「でも、バトルエディターズではあのEmacsにも勝ってるんですよ!」
面接官「いや、勝つとかそういう問題じゃなくてですね……」
学生 「VimはVimプラグインも使えるんですよ」
面接官「ふざけないでください。それにプラグインって何ですか。だいたい……」
学生 「Vimプラグインです。Vimプラギンという人もいます。プラグインというのは……」
面接官「聞いてません。帰って下さい」
暗黒美夢王 「クックック……我を怒らせてしまったようだな。我がVimの力を見せてやろう」
面接官「いいですよ。見せて下さい。Vimの力とやらを。それで満足したら帰って下さい」
暗黒美夢王 「フハハハハ!!!。命拾いをしたな。このVimにはif_luaが有効化されていないようだ」
面接官「帰れよ」

2013年11月17日日曜日

暗黒美夢王が見た VimConf2013(ぼくの VimConf2013のかんそう)

皆の者、久しぶりだな。我は暗黒美夢王である。今回は、VimConf2013 に参加してきた
ので感想記事を書いておきたいと思う。これを読むだけでは内容が全く分からないかも
しれないが、それは仕様である。詳しくは公開されたスライドをチェックするほうがよ
いだろう。

1. 「How to suggest new features for Vim」 by KoRoN 氏


光のVimの伝導者である KoRoN 氏の発表であった。
Vim にパッチがマージされるためにはどのようにすればよいか、氏の具体的なパッチを
挙げてまとめられていた。我ら闇のVimmerにとっては、基本的に闇(プラグイン)の力で
Vimを改造していくため、パッチという方法はあまり行われない。
それでも、プラグインを改良するためにパッチという力が必要なときはあるので、この
発表は有意義なものであった。

2. 「Evil is justice」 by esehara 氏


Emacs で Vim を模倣する Evil-mode の紹介。
我は中途半端な Vim 化が大嫌いなので、こういう機能は使わないが、一部には需要があ
るのだろう。彼は Emacs 使いなのに編集方法が Vim に傾いているので Emacs 界隈では
異端児なのだと思われる。闇の Emacs 使いとは彼のような人達のことをそう呼ぶのかも
しれない。

3. 「Vim から Git を使う」 by cohama 氏


Vim から Git を快適に使うための方法の解説。これだけを聞くと闇のVimmer 向けの発
表に思えるかもしれないが、デフォルトの環境で Vim から Git を使うための方法も紹
介されており、なるほどと感心した。光の Vimmer にも有意義な発表だったと言えるだ
ろう。

4. 「vital.ProcessManager」 by ujihisa 氏


Vital の ProcessManager モジュールの解説。我はまだ使ったことがないのだが、面白
いプラグインだとは思った。vimshell もこれで書き換えるべきなのかもしれないが、ま
だ保留である。我にはもっとやらないといけないことが残っているからな……。

5. 「Vim の RUNTIME の話」 by Linda_pp 氏


Vim に標準添付されるプラグインの解説。これまであまりまとまって解説されることは
なかったので、光の Vimmer にはよい発表だったのではないだろう か。

6. 「How to write patch to Vim」 by k_takata


Vim 界のパッチ職人である k_takata 氏の発表。パッチの書き方について、具体的な話
をしていた。パッチを書く前の話に重点を置く KoRoN 氏の発表とは微妙に切り口が違っ
ていて、内容が被っていなかったのはよかった と思う。「お気に入りのパッチ」という
表現に、氏の並々ならぬパッチへの愛情を感じた。我々がプラグインを愛するように、
彼はパッチそのものを愛してやまないのだろう。

7. LT 「iVimConf作りました」 by dictav 氏


iVimConfアプリを作った人の話である。このアプリ、せっかくなので他のイベントにも
活用できないものだろうか?

8. LT 「Emacs の紹介」 by kiwanami 氏


Vim 勉強会で Emacs の話をするとは、氏の勇気に敬意を表さざるをえない。
まぁ、我も Emacs 勉強会にて Vim の話をした過去があるのだが……。
ちなみに kiwanami 氏が意外と Vim を使っていることには驚いた。
Emacs を鍛えるのにはピアノ、暗黒美夢王覚えた。

9. LT 「duzzle.vim」 by deris01216 氏


Vim script で書いた迷路脱出ゲームの紹介。
我はプラグインにしか興味がないのでゲームは作れないが、こういったものが多く登場
してくると面白いように思う。

10. 「About of neocomplete」 by 暗黒美夢王


最後の発表は、我による neocomplete プラグインの紹介記事であった。
詳細はスライドのほうを参照してほしい。発表中に暗黒美夢王の精神が不安定になり、
Shougo の人格に切り替わることがあったのが反省点であった。やはり暗黒美夢王の人格
を長時間維持するのは難しい。次回は改善したいと思う。

2013年11月9日土曜日

Vim Advent Calendar 337日目:「バトルエディターズ 第三話:宿命の対決」

※:この投稿には暗黒美夢王成分が大量に含まれています。ネタをネタと分かる人だけが読んでください。実在する人物・団体・テキストエディタ・アニメとは一切の関係がございません。

クックック……。我の名は暗黒美夢王だ。宿主であるShougoには、しばらくの間眠っていもらっている。これは Vim Advent Calendar の第337日目である。次回はmittan氏の「MacのVimで通知センターを使う」だ。Vimmerならフォローしておくように。

さて、今回はVACでバトルエディターズの第三話を発表することにした。本当はVACの一部ではなく、普通にこのブログ内で発表する予定だったのだが、欠番となった337日目を書く者が誰もいないと聞いたので、急遽我が代役として記事を書くことになったのだ。「純粋な」Vimの記事を期待したものにはいささか期待はずれかもしれんが、正式な記事(344日目)は本日manga_osyo氏が書いてくれることだろう。

第一話第二話の復習は済ませたか? 狂気の世界の始まりといこう……。

------------------------------------------------------------------------------------------------
編集王(エディットキング) バトルエディターズ
第3話:宿命の対決

注意:この物語はフィクションです。実在する人物・団体・ソフトウェア・テキストエ
ディタとは一切の関係がありません。宗教論争をする意図もありません。

注意:この物語を読んだところで、テキストエディタの知識が付くわけがありません。
物語中に存在するテキストエディタのネタはオマージュ程度であり、知っている人がほ
くそ笑む程度のものです。期待しないようにしましょう。

注意:この物語は皆の反応を見るためのテスト版であり未完成です。話の内容は予告な
く変更される可能性があります。

「ルールを守って楽しくエディット!」

--------------------------------------------------------------------------------
Scene 1
--------------------------------------------------------------------------------

「修君、昨日の Vim エディタについて、先生に詳しい話を聞かせてもらえるだろう
か?」

僕は登校そうそう、海(かい)先生に呼び出されていた。

「な、なんの話でしょうか……」

「とぼけても無駄だよ。私も含めて、みんな見ているんだ」

さっぱり分からないが、僕が Vim を持っていることがバレてしまっているらしい。
どうすれば……。

「とにかく、一度ディスクの中身を確認させてもらうよ。変なソフトウェアが仕込まれ
ていてはいけないからね」

ほとんど無理矢理に僕のディスクがスキャンされていく。ただ、先生はスキャン結果を
見ながら首を捻っていた。

「うーーーん、おかしいな。特に変なデータはない……。私の見間違いだったのだろう
か。うむ、教室に戻っていいぞ」

「では、失礼します……」


「んで、修どうだったのよ」

僕の元に現れたのは来夢ちゃんだった。よく分からないけれど、ずいぶんと僕に絡んで
くるようになった気がする。僕は彼女になにかしただろうか。記憶がないんだよなぁ。

「僕が Vim を持っているんじゃないかってさ。まあでも見つからなかったんで、早々に
終わったよ」

実は持っているわけなんだけどね。なんで見つからなかったんだろう。
そのおかげで僕は助かったわけだけど。

「Vim が見つからなかったの。そう。それは不思議ね……」

--------------------------------------------------------------------------------
Scene 2
--------------------------------------------------------------------------------

「さーて、今日こそは早く家に帰って Vim を愛でる作業に戻るぞー」

このまま学校に残っていたら、何をされるか分からないからね。昨日はできなかった、
Vim にあんなことや、そんなことを……。

僕を帰宅途中の生徒達が遠巻きに眺めている。いかんいかん。
このままでは、皆から僕はテキストエディタで妄想する変態に思われてしまう。

「なんだろ、これ」

靴箱の中に何か入っている。確認してみるとそれは手紙のようであった。

『昨日のエディット拝見しました。ぜひ、放課後校舎裏に来てください。話したいこと
があります by あなたの永遠のライバル』

「まさか……これはラブ・レター!」
なんということだ。学生時代における伝説のアイテム。実際に存在したというの
か……。Vim を手に入れてから僕は運が向いてきたようだ。
テキストエディタだけじゃなくて彼女までゲットするだなんて。ぐへへ。
『まったく、テキストエディタではなく女にうつつを抜かしおって……』

「ん、誰の声だろ……誰もいないか」

僕はそのまま校舎裏へと急ぐのだった。そこで待っていたのは、

「ようやく来たか……我が永遠のライバル」

「誰、キミ。僕は女の子に呼び出されて……」

「それを出したのはこの俺だ。俺の名前は楠崎遠馬(くすざきえんま)。覚えておけ」

「なん……だって? 僕の純情を返せよ、うわーん」

「ごちゃごちゃうるさい奴だな。嘘は言っていないぞ。『昨日のエディットを見てい
た』から俺はお前に興味を持った。Emacs 使いという Vim の永遠のライバルが、校舎裏
に呼び出したのだ。要件は一つしかなかろう。早く俺とエディットをしろ」

「た、確かに言われてみるとそうかもしれないけど、僕の純情を弄ぶなんて許さない
ぞ。勝負だ!」

Vimを手に入れた僕に怖いものなんてない。怒りに任せて勝利を挑む。

遠馬:EP 4000 メモリ 4/8 メインエディタ Emacs
修:EP 4000 メモリ 4/8 メインエディタ vi

「「編集(エディット)!」」

「あれ、Vimが見当たらない。なんで代わりに vi を実行していることになっているん
だ?」
「Vim の代わりに vi とは、俺も舐められたものだな」

「ちょ、待って、違うんだ。ぐわーー」

遠馬:EP 3000 メモリ 7/8 メインエディタ Emacs
修:EP 0 メモリ 5/8 メインエディタ vi

「ぐはぁ……。つ、強い」

僕は彼に全然歯が立たなかった。初めて Emacs とエディットしてみたけど、こんなに強
いだなんて。

「全く、他愛もないものだ。本当にコイツが昨日 Sublime 使いを破ったというのか?」
vi では俺に敵わないことは分かっただろう。そろそろお前の Vimを見せてみろ」

「実行したいんだけど、実行できないんだよ。ぐふっ」

『全く、我の契約者ともあろう者がふがいないものだな』
「誰だよ君は……」
『我の名は暗黒美夢王(ダークビムマスター)。後は我に任せて眠っておけ』
「暗黒美夢王……? もう、眠くてなにも考え……」

そして、僕の意識はまた闇へと堕ちるのだった。

--------------------------------------------------------------------------------
Scene 3
--------------------------------------------------------------------------------

宿主と交代で我の意識が覚醒する。

「ふあーぁ。さすがにまだ寝たりないな」

「なんだ、こいつは……」

「ほう、お前が宿主をコテンパンにしていたのだな」

「さっきとは雰囲気が違う。噂通りか、ようやく出て来たな Vim 使いよ」

「我を待っていたのか。モテる男はつらいものだ。どうせならテキストエディタにモテ
たいところであるが」

「俺の名前は楠崎遠馬。そこの Vim 使い、Emacs の使い手である俺と勝負しろ!」

「正直、Emacsとのエディットはとうの昔に飽きている。我としてはピチピチの新しいエ
ディタとエディットしたいものだ。クックック……」

「気持ち悪いやつだな」

「どうしても我とエディットしたいというのなら一つ問おう」

「何だと?」

「簡単なことだ。お前にとってテキストエディタは何だ」
これは我にとって重要な質問である。さて、何と答えるのだろうか。

「テキストエディタか。何を聞くかと思えば下らないな」

「いいから答えてみろ。返答次第ではお望みどおり勝負してやってもよい」

「フン、テキストエディタは俺にとってただの道具にすぎない。Emacs は単純に俺の編
集速度に付いてこれたから使ってやっているだけだ。俺はテキストエディタを使って世
界を支配する。そのためにはまず、Vimの後継者というお前をエディタバトルで破る必
要が……」

「クックック……フハハハハ!」

「何がおかしい」

「もう十分だ。お前は我に『怒り』というイベント名の autocmd を発動させてしまった
(お前は私を怒らせた)ようだ。当然、我はこれをハンドルするわけだが、覚悟はで
きているだろうな」

遂に我を本気で怒らせるものが現れたらしい。これほどの回答があるとは。クックッ
ク、これは胸が踊る。

「何を言っているのかさっぱり分からん。勝負するのかしないのか、ハッキリしてもら
おう」

「我が名は暗黒美夢王(ダークビムマスター)だ、覚えておけ。さっきの台詞聞こえてい
たぞ、Emacs使い。Vim使いである我との勝負を望んでいるのであろう? 良いだろう。
受けてやる」

「フ、フン。まぁ良い。この俺にお前の力を見せてみろ。俺の Emacs で貴様のエディタ
を叩きのめすぜ」

「さあ、エディット・タイムだ!」

両者、再度エディタディスクを構える。

「エディタディスク セット!」
「メインエディタ 実行開始!」

「Vim 実行」
「Emacs 実行」

「AR モニター リンク完了!」
「「編集(エディット)!」」

--------------------------------------------------------------------------------
Scene 4
--------------------------------------------------------------------------------

- TURN 1 -

遠馬:EP 4000 メモリ 4/8 メインエディタ Emacs
美夢王:EP 4000 メモリ 4/8 メインエディタ Vim

Emacs 戦闘力 0
Vim 戦闘力 1000

「Emacs は他のエディタと異なり、エディタの基本戦闘力が 0 だ。ただし……Emacs が
実行されたことにより、Emacs の機能が自動で適用される。プラグイン『el-package』
をディスクから自動でインストールする。『パッケージ・イニシャライゼーション!』」
「何だと……。最近のEmacsにはこんな機能が付いていたのか。面白い」
「プラグインがインストールされたことにより、Emacs の戦闘力は 800 アップ!」

Emacs 戦闘力 0 → 800

遠馬:EP 4000 メモリ 5/8 メインエディタ Emacs
美夢王:EP 4000 メモリ 4/8 メインエディタ Vim

「先攻は我が貰う。我のターン、ロード!」
「我はプラグイン『neo-snippet』を Vim にインストール! さらに neo-snippet の機能
を適用。EP を 500 支払うことで、メモリ上に neo-snippet トークンをプラグイン扱い
でエディタにインストールする。『ネオ・スニペット・エキスパンション!』」

Vim 戦闘力 1000 → 1500 → 2000

「先攻は最初のターン攻撃できない。ターンエンドだ」

「ほう、それが噂に聞く neo シリーズのプラグインだな。俺のターン!」

遠馬:EP 4000 メモリ 5/8 メインエディタ Emacs
美夢王:EP 3500 メモリ 6/8 メインエディタ Vim

「俺はロードをスキップし、 Emacs に標準でインストールされているプラグイン
『el-package』の機能を適用する! 『パッケージ・インストレーション!』」

「el-package の機能により、俺はディスクからプラグインをランダムで一つ Emacs に
インストールすることができる。俺がインストールするのは『el-popup』。プラグイン
がインストールされたことにより、Emacs の戦闘力は 800 アップ!」

Emacs 戦闘力 800 → 1600

遠馬:EP 4000 メモリ 6/8 メインエディタ Emacs
美夢王:EP 3500 メモリ 6/8 メインエディタ Vim

「後攻はすぐに攻撃が可能だが、エディタの戦闘力が満たない。俺はここでターンを終
了する。命拾いしたな」

- TURN 2 -

「我のターン、ロード! 我はプラグイン『neo-interface』を Vim にインストールす
る。このプラグインは秘められた機能を持つが、このプラグインは起動が
遅いので、インストールされたターンは機能を適用できない」

遠馬:EP 4000 メモリ 6/8 メインエディタ Emacs
美夢王:EP 3500 メモリ 7/8 メインエディタ Vim

Vim 戦闘力 2000 → 2500

「だが、これで Vim の戦闘力は十分増加した。Vim で Emacs に対してバトル!」
「ぐぅ……。この俺が先に攻撃を受けるとは」

遠馬:EP 3100 メモリ 6/8 メインエディタ Emacs
美夢王:EP 3500 メモリ 7/8 メインエディタ Vim

「我はこれでターンを終了する。さあどうする? Emacs 使い」

「俺の名前は遠馬だ。覚えておけ。el-package の機能により、俺はディスクからプラグ
インをランダムで一つ Emacs にインストール! 俺がインストールするのは
『el-complete』。プラグインがインストールされたことにより、Emacs の戦闘力は 800
アップ!」

Emacs 戦闘力 1600 → 2400

「しかし、我の Vim のほうが戦闘力が上だ」

「それはどうかな。『el-popup』と『el-complete』の二つがメモリ上に存在
することで、俺は『el-complete』の効果を適用する! このターン、Emacs
の戦闘力を 1.5 倍にする。『オート・ポップアップ・コンプリション』」

「なんだと……?」

 -------------------------------------------------------------------------------
|el-complete:プラグイン・Emacs
|このプラグインは Emacs にのみインストールすることができる。
|機能『オート・ポップアップ・コンプリション』 この機能は『el-popup』がエディタ
|にインストールされている場合のみ適用可能である。このターン終了まで、このプラグ
|インをインストールしたテキストエディタの戦闘力は1.5倍となる。この機能は1 ター
|ンに一度のみ適用可能である。
 -------------------------------------------------------------------------------

Emacs 戦闘力 2400 → 3600

「戦闘力 3600 か。さすがにやるものだな」

「Emacs で Vim にバトル!」

「くぅ……」

「俺はここでターンを終了する。Emacs の戦闘力は元に戻る」

Emacs 戦闘力 3600 → 2400

- TURN 3 -

遠馬:EP 3100 メモリ 7/8 メインエディタ Emacs
美夢王:EP 2400 メモリ 7/8 メインエディタ Vim

「我のターン、ロード。我は『neo-interface』の機能を適用する! 自分の
メモリ上のコマンドを Vim プラグイン扱いでインストールする。『ネオ・イ
ンタフェース・インテグレーション!』」

 -------------------------------------------------------------------------------
|neo-interface:プラグイン・Vim
|このプラグインは Vim にのみインストールすることができる。
|機能『ネオ・インタフェース・インテグレーション』 自分のメモリ上にある未実行の
|任意のコマンドをVim プラグイン扱いで Vim にインストールする。インストールした
|コマンドは実行できない。コマンドの機能はそのまま適用できるが、コマンドの機能を
|適用した場合、コマンドをトラッシュに送る。この機能はインストールしたターンには
|適用できず、1 ターンに一度のみ適用可能である。このプラグインがトラッシュに送ら
|れる場合、この機能でインストールされたプラグインをトラッシュに送る。
 -------------------------------------------------------------------------------

Vim 戦闘力 2500 → 3000

遠馬:EP 2200 メモリ 7/8 メインエディタ Emacs
美夢王:EP 2400 メモリ 7/8 メインエディタ Vim

「俺のターンだ。el-package の機能により、俺はディスクからプラグインをランダムで
一つ Emacs にインストール! ここで Emacs の戦闘力が更に 800 アップ」

Emacs 戦闘力 2400 → 3200

「俺はさらにここで、特殊コマンド『インスタント・プラグイン』の機能を適用する!
このターンにインストールしたプラグインの機能を無効にすることで、プラグイントーク
ンをエディタにインストールする」

遠馬:EP 2200 メモリ 8/8 メインエディタ Emacs
美夢王:EP 2400 メモリ 7/8 メインエディタ Vim

Emacs 戦闘力 3200 → 4000

「まだだ! ここで俺は『el-complete』の効果を適用する! このターン、Emacs
の戦闘力を 1.5 倍にする。『オート・ポップアップ・コンプリション』」

Emacs 戦闘力 4000 → 6000
Vim 戦闘力 3000

「Emacs は Vim にバトル!」

「くっ、これが通れば負ける……」
我の Vim を Emacs の一撃が襲う!

--------------------------------------------------------------------------------
Scene 5
--------------------------------------------------------------------------------

「ここまでだな、Vim 使い。いくら Vim といえども Emacs には勝てないのだ。これは
今までの歴史が証明して……」

遠馬:EP 2200 メモリ 7/8 メインエディタ Emacs
美夢王:EP 900 メモリ 6/8 メインエディタ Vim

「なん…だと?」

「ふう、危ないところだったな。我はさっきの攻撃の瞬間、特殊コマンド『テキストエ
ディタを、あきらめない』を適用していた! 我とテキストエディタは深い絆で結ばれて
いる。たとえ何があろうともテキストエディタを諦めない、それが我のポリシーだ。
『ネバーギブアップ・エディタ!』」

 -------------------------------------------------------------------------------
|テキストエディタを、あきらめない:特殊コマンド・速攻(クイック)
|機能『ネバーギブアップ・エディタ』 このターン受けるダメージを半分にし、エディ
|タが受けたダメージの半分をエディタの戦闘力に加える。このコマンドの機能は相手の
|ターンでも適用できる。
 -------------------------------------------------------------------------------

Vim 戦闘力 3000 → 3750

「戦闘力も上がって……くっ。ここでターンエンドだ」

Emacs 戦闘力 4000

- TURN 4 -

「我のターン、ロード。我は再度 neo-interface の機能を適用する。これに
より、Vim の戦闘力は 500 ポイントアップ!」

Vim 戦闘力 3750 → 4250

遠馬:EP 1950 メモリ 8/8 メインエディタ Emacs
美夢王:EP 900 メモリ 7/8 メインエディタ Vim

「前のターンはうまくかわされたが、今度こそお前の最後だ! 俺のターン、ロード」

「フン、お前のメモリをよく見てみろ。ロードするべきメモリは既に埋まっている。メ
モリが一杯の状態でロードした場合、メモリに入りきらないコマンドはランダムで破壊
される。さて、何のコマンドが破壊されるかな?」

「俺の el-complete が!」

Emacs 戦闘力 4000

「おっと残念、君の『el-complete』はトラッシュに送られてしまったようだ。これでは
自慢の補完機能が使えないな」

「くっ……。計画が崩れたか。だがまだ手はある。俺は、プラグイン
『el-file』の機能を適用する。EP を 500 支払うことで、メモリ上のコマ
ンドを Emacs プラグイン扱いとしてインストールする。『イーマックス・ファイル・オ
ペレーション!』」

遠馬:EP 1450 メモリ 8/8 メインエディタ Emacs
美夢王:EP 900 メモリ 7/8 メインエディタ Vim

Emacs 戦闘力 4000 → 4800

「Emacs で Vim にバトル!」

「ぐぅううう」

遠馬:EP 1450 メモリ 8/8 メインエディタ Emacs
美夢王:EP 350 メモリ 7/8 メインエディタ Vim

「少し残ったか。だが、もはやお前のエディタはクラッシュ寸前。次の俺のターンがお
前の最後だ!」

- TURN 5 -

「それはどうかな。我を仕留め損なったことをお前は後悔することになるだろう。だ
が、さすがは Emacs 使いだ。我をここまで追いつめるとは。我に本気を出させたこと、
光栄に思うがよい!」

「何、今までは手を抜いていたというのか」

我の手に光が宿る。今こそ、あのコマンドをロードする時。

「これこそが我の本気のロードだ。一流のエディタ使いのエディットは全てが必然。
ロードするコマンドすらこの手で創造する。シャイニング・ロード!」
「なん……だと? インチキロードもいい加減にしろ!」

遠馬:EP 1450 メモリ 8/8 メインエディタ Emacs
美夢王:EP 350 メモリ 8/8 メインエディタ Vim

「我が創造(ロード)したのは、特殊コマンド『neoの覚醒』。『neoの覚醒』の機能を我
が Vim に適用する。Vimは真(ネオ)の力によって新たな進化を遂げる。覚醒せよ、『ネ
オ・ビム・エグゼキューション!』」

 -------------------------------------------------------------------------------
|neo の覚醒:特殊コマンド
|機能『ネオ・ビム・エグゼキューション』 3 つ以上の『neo』と名の付くプラグイン
|をインストールした Vim をトラッシュに送り、『neo-Vim』をエクストラディスクより
|特殊実行する。
 -------------------------------------------------------------------------------

 -------------------------------------------------------------------------------
|neo-Vim:エディタ 基本戦闘力 1000
|このコマンドは直接実行できない。『neoの覚醒』の機能によってのみ実行することが
|できる。このエディタはVimとしても扱う。
|機能『???』
|Vimがneo(真)の力を引き出すことによって生まれた新たなエディタ。neo のプラグイン
|と組み合わせることでその真価を発揮する。
 -------------------------------------------------------------------------------

neo-Vim 戦闘力 4750

「neo-Vim の機能を適用。このコマンドは neo と名のつくインストールされたプラグイ
ン x 800 ポイント戦闘力を上げる。既にインストールされた neo という名のプラグイ
ンは 3 つ。よって、900 ポイントアップ!」

Vim 戦闘力 4750 → 5650

「戦闘力が俺の Emacs を上回ったか。だが、この程度なら次のターンさえくれば……」

「クックック……。お前は次のターンが本当にあると信じているのか? 我はさらに、
neo-Vim のもう一つの機能を適用。このコマンドにインストールされた、neo-と名の付
くプラグインは新たな機能が追加される。これがプラグインの真(ネオ)の力だ。『ネ
オ・エボリューション!』」

「コマンドの機能解説文が書き換えられるだと? そんな機能があるはずが……。まさ
かお前は伝説の創造主(クリエータ)だというのか」

「我は覚醒した neo-interface の真の機能を適用する。メモリ上のコマンドを Vim
plugin 扱いで neo-Vim にインストールする。我が選択するのはお前のメモリ上の
『el-popup』だ。『ネオ・コンバージョン!』 」

 -------------------------------------------------------------------------------
|neo-interface:プラグイン・Vim
|このコマンドは「neo-Vim」上にインストールされている場合、次の機能が実装される。
|機能『ネオ・コンバージョン』
|相手のメモリを含むメモリ上の全てのコマンドの中から一つを neo-Vim にインストー
|ルする。そのコマンドは Vim plugin として扱う。機能も通常通り適用できるが、機能
|を適用した場合にはコマンドはトラッシュに送られる。この機能によりインストールさ
|れたコマンドはこのコマンドがトラッシュに送られた場合にはトラッシュに送られる。
|この機能は 1 ターンに一度しか使用できない。
 -------------------------------------------------------------------------------

「なんだと? 俺のプラグインが Vim 使いなんぞに奪われるとは……」

neo-Vim 戦闘力 5650 → 6450
Emacs 戦闘力 4800 → 4000

「我は neo-Vim で Emacs とバトル!」
「ぐ、ぐわぁぁぁ!」

遠馬:EP 0 メモリ 8/8 メインエディタ Emacs
美夢王:EP 350 メモリ 8/8 メインエディタ neo-Vim

--------------------------------------------------------------------------------
Scene 6
--------------------------------------------------------------------------------

敗北した遠馬は地面にがくりと崩れ落ちる。

「な、なぜだ。なぜ俺が負けたんだ。Emacs を使うこの俺が最強のはずなのに」
「Emacs というエディタの特性をよく生かした プラグイン重視のディスク構成は面白
かったよ。あえていうなら、テキストエディタへの愛が足りない」
彼もある意味純粋なのかもしれない。そのベクトルは間違っていた訳だが。

「愛……だと? お前は何を言っている。テキストエディタと人間に愛なぞある訳がな
かろう。テキストエディタはただの道具であり、それ以上の存在では決してないのだ」

「我にも昔はテキストエディタが道具と考えていた時もあった。昔はな……」
おっと、つい昔話をしてしまいそうになる。それは自重しなければ。

「それはどういう……」
「気が向いたらまた勝負してやる。ではな」

我はそう返して、遠馬の元を去るのであった。彼も面白い男ではあったが、やはりまだ
ディスク構成には再考の余地がある。良きライバルとなるかもしれない彼の成長を祈る
としよう。

今日のバトルエディターズ豆知識:
バトルエディターズではプレイヤーは 1 ターンにひとつプラグインをインストールする
か単体コマンドを実行することができる。ただし、コマンドの機能による特殊実行はこ
の制約を受けない。特殊実行をうまく使いこなすのが勝利への近道となる。


(「第4話:正義のヒーロー オクセイダー!」に続く……)

2013年9月3日火曜日

Vimぅぅうううわぁあああああん とは

ある一人のVimmerの魂の咆哮である。

Vim!Vim!Vim!Vimぅぅうううわぁああああああああああああああああああああああん!!!
あぁああああ…ああ…あっあっー!あぁああああああ!!!VimVimVimぅううぁわぁああああ!!!
あぁクンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いいVim pluginだなぁ…ひひひ
んはぁっ!Vimたんの黄緑色の髪をエディットしたいお!エディットエディット!あぁあ!!
間違えた!VimVimしたいお!VimVim!VimVim!髪髪VimVim!カリカリVimVim…(SEGV)!!
僕が設定したVimたんかわいかったよぅ!!あぁぁああ…あああ…あっあぁああああ!!ふぁぁあああんんっ!!
Vimテクニックバイブル発売されて良かったねVimたん!あぁあああああ!かわいい!Vimたん!かわいい!あっああぁああ!
実践Vimも発売されて嬉し…いやぁああああああ!!!にゃああああああああん!!ぎゃああああああああ!!
ぐあああああああああああ!!!テキストエディタなんて現実じゃない!!!!あ…バトルエディターズもエディタアニメもよく考えたら…
V i m ち ゃ ん は 現実 じ ゃ な い?にゃあああああああああああああん!!うぁああああああああああ!!
そんなぁああああああ!!いやぁぁぁあああああああああ!!はぁああああああん!!暗黒美夢王(ダークビムマスター)ぁああああ!!
この!ちきしょー!やめてやる!!現実なんかやめ…て…え!?見…てる?画面のVimちゃんが僕を見てる?
全画面で起動してるVimちゃんが僕を見てるぞ!Vimちゃんが僕を見てるぞ!vim-jpのVimが僕を見てるぞ!!
Vim Advent CalendarのVim Girlが僕に話しかけてるぞ!!!よかった…世の中まだまだ捨てたモンじゃないんだねっ!
いやっほぉおおおおおおお!!!僕にはVimちゃんがいる!!やったよBram!!ひとりでできるもん!!!
あ、僕のVimちゃああああああああああああああん!!いやぁあああああああああああああああ!!!!
あっあんああっああんあVim様ぁあ!!ビ、ビマー!!ビムエディッタぁああああああ!!!
ううっうぅうう!!僕の想いよVimへ届け!!vim_devのMLへ届け

2013年8月24日土曜日

実践 Vim レビュー

お久しぶりです。残念ながらこの本の翻訳にはほとんど関われていないのですが、とあるルートより見本誌を頂いてしまったため、今後の Vim 界の発展のためにもレビューをしたいと思います。

この本の原著は「Practical Vim」と言います。Vim 界の一部で有名で、貴重な Vim の書籍であるため、原著を私は入手しています。

この本のコンセプトは、「Vimの基本機能を丁寧に解説する」ことにあります。Vim の書籍はこれまでにもいろいろ出ていますが、「ViIMproved‐Vim完全バイブル」は記述が古すぎますし、「入門 vi/Vim」は vi の部分の解説が多すぎます。「Vimテクニックバイブル」はプラグインの解説に特化している……と Vim の基本をマスターしたい人にはなかなか良い選択肢がありませんでした。
しかし、「実践 Vim」はそのような本を求めていた人に是非お勧めしたいです。

「Vimの基本機能を解説する」といっても、舐めてはいけません。
Vimの基本機能というのはとても膨大です。「俺は Vim の :help をマスターしている」「俺は Vim である」「Vim は家族である」「マイフェイバリット言語はVim scriptだ」という一部の変態 Vimmer を除き、大抵のVimmer には新たな発見があることでしょう。

Vim の本なので、例えばこういった解説があります。

  • バッファリスト
  • ウインドウリスト
  •  タブページ
  •  引数リスト(:args)
  •  唐突に現れる Vim Ninja(P.170)。ちなみに原著にも登場。
  •  テキストオブジェクト
  •  ジャンプリスト/変更リスト
  •  レジスタ
  •  マクロ。なぜか一章 25P がまるまるマクロなので、某マクロ漁船な人も安心。
  •  quickfix
吹いたのは、「ダイヤル Xを回せ! 自動補完だ」という某章のタイトルです。ちょっと何を言っているのか 分かりませんでした。自動補完といいつつ、自動補完のプラグインの解説ではなく、Vim組み込みの手動 補完の解説なので注意。紛らわしいですが、原著の記述がそうなっているのでしょう。インサートモードの補完について、一通りの解説がされているので、補完フリークは必見です。

全体的に解説が丁寧なので、:help の無味乾燥な解説で挫折した人も Vim に再挑戦することができるでしょう。レビューするために一通り読んでみましたが、日本人の Vimmerがきちんとレビューしているので、記述がおかしい部分もありません。よくできた本です。

他に注目すべきポイントとしては、この本の著者が kana 氏のプラグインに感銘を受けていることでしょうか。kana 氏のプラグインは日本では有名ですが、外国ではマイナーなので、これは驚くべきことです。

この本を読んで、この本はほとんどプラグインについて触れていないので、物足りないと感じる人がいるかもしれません。大丈夫、そういう人のために「Vimテクニックバイブル」があるのです(宣伝)。しかし、「Vimテクニックバイブル」も Vim script に関してはほとんど解説できていないという欠点があります。皆さんが Vim の本や Vim 特集(エディタ特集)の雑誌を購入してくれれば、きっと出版社も「Vim script本はマニアックだけど需要があるからいける」という感触を持ってくれるはずです。ぜひ Vim 本(エディタ本)を応援してあげてください。

2013年5月19日日曜日

編集王(エディットキング) バトルエディターズ 第2話:彼の名は暗黒美夢王(後編)

注意:この物語はフィクションです。実在する人物・団体・ソフトウェア・テキストエ
ディタとは一切の関係がありません。宗教論争をする意図もありません。

注意:この物語を読んだところで、テキストエディタの知識が付くわけがありません。
物語中に存在するテキストエディタのネタはオマージュ程度であり、知っている人がほ
くそ笑む程度のものです。期待しないようにしましょう。

注意:この物語は皆の反応を見るためのテスト版であり未完成です。話の内容は予告な
く変更される可能性があります。

「ルールを守って楽しくエディット!」

--------------------------------------------------------------------------------
Scene 1
--------------------------------------------------------------------------------

「私はこれでターンを終了します」

来夢:EP 4000 メモリ 4/8 メインエディタ Sublime Text2
美夢王:EP 2000 メモリ 6/8 メインエディタ Vim

特殊コマンド「モード変更」の機能が無効となったことにより、Sublime Text2の戦闘力
は元に戻る。今が反撃のチャンスのはずだ。

Sublime Text2 戦闘力 3500 → 1500

信じるしかない。自分のエディタを。我はディスクから渾身のロードを行った。
「我のターン! ロード!」

来夢:EP 4000 メモリ 4/8 メインエディタ Sublime Text2
美夢王:EP 2000 メモリ 7/8 メインエディタ Vim

「こ、このコマンドは!」

「お前、『Vimの後継者』という妄言を撤回する準備はできているか?」

「私は無傷、あなたのEPは2000。この状況で負け惜しみですか。みっともないです」

「ならば我は特殊コマンド『デグレード』の機能を適用する! このコマンドは相手の
プラグインの機能を『インストールしたエディタの戦闘力を400P下げる』に変更する。
プラグインのデグレードの恐しさ、味わうがいい」

 -------------------------------------------------------------------------------
|デグレード:特殊コマンド・永続(デーモン)
|相手のメモリ上のプラグインのもともとの機能を無効にし、次の機能に変更する。
|「このプラグインをインストールしたエディタは戦闘力が 400 P 下がる。選択したプ
|ラグインがメモリ上に存在しなくなった場合、このコマンドをトラッシュに送る。
 -------------------------------------------------------------------------------

Sublime Text2 戦闘力 1500 → 1100

「わ、私のVimが……」

「『Vimtage mode』は封じた。これでお前のエディタは名実共にSublime Textとなった
な。VimでSublimeText に対し、バトル!」

「くっ……」

来夢:EP 3600 メモリ 4/8 メインエディタ Sublime Text2
美夢王:EP 2000 メモリ 7/8 メインエディタ Vim

「これで我はターンエンド」

とりあえず、このターンで相手のプラグインを封じこめることができた。EP も減らせて
上々といったところか。

- TURN 3 -

「よくも私の Vim を……。もう許しません。私のターン、ロード!」

まぁ、最初からSublime Text2はVimではないと思うが。

来夢:EP 3600 メモリ 5/8 メインエディタ Sublime Text2
美夢王:EP 2000 メモリ 7/8 メインエディタ Vim

彼女から感じる、これまでとは明らかに異なる強い気迫。

「これは……。ついに来ました。『Vimtage Mode』がなくても、勝負(エディット)に勝
てばよいのです。勝てば」

もはや彼女にとって、「Vim の後継者」というのはどうでもよくなったようだ。

「Sublime Textの真の恐しさ、あなたに見せてあげます」

どうやら、相手は切り札となるコマンドをメモリからロードすることに成功したらし
い。来るぞ!

「私は特殊コマンド『アップグレード』をSublime Text2に適用します! アップグレー
ドコストとして、EP 1000を支払い、Sublime Text2をアップグレード。エクストラディ
スクより、Sublime Text3 を特殊実行!」

 -------------------------------------------------------------------------------
|アップグレード:特殊コマンド
|アップグレードコスト 1000 を支払うことで、メモリ上の選択したエディタをバージョ
|ンアップしたエディタをエクストラディスクより特殊実行する。プラグインを引き継げ
|るどうかはアップグレードしたエディタの機能に依存する。
 -------------------------------------------------------------------------------

Sublime Text3 戦闘力 1500

「これが……Sublime Text3」

「Sublime Text3はSublime Text2のプラグインを引き継げません。しかし、新しくプラ
グインをインストールすればよいこと。私はSublime Text3に『Package Control』をイ
ンストール! Sublime Text3 にプラグインがインストールされたことにより、Sublime
Text3の戦闘力は 500Pアップ!」

来夢:EP 2600 メモリ 4/8 メインエディタ Sublime Text3
美夢王:EP 2000 メモリ 6/8 メインエディタ Vim

プラグインの互換性がないことにより、Sublime Text2 がインストールしていたプラグ
インがトラッシュに置かれたため、『デグレード』もトラッシュに送られた。

Sublime Text3 戦闘力 1500 → 2000

「Sublime Text3でVimに対しバトル!」

「『モード変更』の機能でこのターンはアタックできないはずでは?」

「確かにその通り。しかし、『モード変更』を使用したのは Sublime Text2です。別
のエディタであるSublime Text3には適用されません」

「そこまで考えてのアップグレードだったか。やるな」

「ふん。あなたに褒められても嬉しくありませんわ」

デグレードを回避したというだけでなく、別のエディタである Sublime Text3を実行す
ることで、モード変更のコストをも回避したというわけか。ああ見 えて、戦略を考えて
いると見える。こちらも全力で相手しないと。我は不思議と高揚していた。これだか
らテキストエディタというのはやめられない。

「全く、テキストエディタは最高だぜ!」

「い、いきなり何を言っているの。私のエディタを見てニヤつくだなんて。この、変態」

「それは聞きずてならないな。変態(へんたい)、じゃなく編集(へんしゅう)と読んでく
れ。その方が落ち着くんだ」

「やはり、テキストエディタの使いすぎで頭がおかしくなったみたいですね。私があな
たの頭をデバッグしてあげます。Sublime Text3でVimにバトル!」

「く……」

来夢:EP 2600 メモリ 4/8 メインエディタ Sublime Text3
美夢王:EP 1500 メモリ 6/8 メインエディタ Vim

「これで私はターン終了です」

--------------------------------------------------------------------------------
Scene 2
--------------------------------------------------------------------------------

「我のターン、ロード!」

来夢:EP 2600 メモリ 4/8 メインエディタ Sublime Text2
美夢王:EP 1500 メモリ 7/8 メインエディタ Vim

「我はプラグイン『neo-snippet』を Vim にインストール! さらにneo-snippetの機能
を適用。EP を 500 支払うことで、メモリ上に neo-snippet トークンをプラグイン扱い
でエディタにインストールする。『ネオ・スニペット・エキスパンション!』」

Vim 戦闘力 1500 → 2000 → 2500

 -------------------------------------------------------------------------------
|neo-snippet:プラグイン・Vim
|このプラグインはVimにのみインストールすることができる。
|機能『ネオ・スニペット・エキスパンション』 EP を 500 支払うことで、メモリ上に
|neo-snippet トークン(機能なし)をプラグイン扱いでエディタにインストールする。
 -------------------------------------------------------------------------------

「VimでSublimeText 3にバトル!」

「ふん、かすり傷です」

来夢:EP 2100 メモリ 4/8 メインエディタ Sublime Text3
美夢王:EP 1000 メモリ 8/8 メインエディタ Vim

「我はこれでターンエンド」

- TURN 4 -

「私のターン。私は『Package Control』の機能で、ロードフェイズをスキップし、
Sublime Text3にプラグインをインストール!  『パッケージ・インストレーショ
ン!』」

Sublime Text3 戦闘力 2000 → 2500

 -------------------------------------------------------------------------------
|Package Control:プラグイン・Sublime Text
|このプラグインはSublime Textにのみインストールすることができる。
|機能『パッケージ・インストレーション』 この機能はロードフェイズにのみ適用できる。
|ロードフェイズをスキップし、エディタにプラグインを1つランダムでインストールする。
|このプラグインがメモリ上に存在しない場合、この機能でインストールされたプラグイ
|ンをトラッシュへと送る。
 -------------------------------------------------------------------------------

「さらにここで、特殊コマンド『インスタント・プラグイン』の機能を適用! さきほ
どインストールしたプラグインの機能を無効にすることで、プラグイントークンをエ
ディタにインストールします」

 -------------------------------------------------------------------------------
|インスタント・プラグイン:特殊コマンド
|機能『インスタント・インストレーション』 自分のメモリ上のプラグインを一つ選択
|する。このプラグインの機能を無効にすることで、プラグイントークン(機能なし)をエ
|ディタにインストールする。
 -------------------------------------------------------------------------------

Sublime Text3 戦闘力 2500 → 3000

「まだ終わりではないわ。Sublime Text3の機能、適用! このコマンドにプラグインが
3 つ以上インストールされている場合、EP を プラグインの数x100支払うことで、この
コマンドは 2 回の攻撃が可能になる。『サブライム・マルチスレッド!』」

来夢:EP 1800 メモリ 4/8 メインエディタ Sublime Text3
美夢王:EP 1000 メモリ 8/8 メインエディタ Vim

そうか、彼女は戦闘力を単に上げるだけでなく、二回攻撃を狙っていたのか。二回の攻
撃は、生半可なコマンドでは対処 が難しい……。

「戦闘力 3000……しかも二回アタックなんて、もう美夢王も終わりだな」
「あーあ、結構盛り上がったのになー」
「残念」

諦めに満ちた声が聞こえてくる。しかし、我はここで終わるわけにはいかない。

「我は特殊コマンド『conceal』を Vim に適用! このターン、Vimはバトルとコマンド
の機能の対象から外れる」

Sublime Text2 戦闘力 3000
Vim 戦闘力 ?

 -------------------------------------------------------------------------------
|conceal:特殊コマンド・速攻(クイック)
|このコマンドの機能はvi/Vimにのみ適用することができる。
|機能『コンシール・スキップ』 自分のメモリ上のVimエディタはこのターンのエンド
|までバトルとコマンドの機能の対象とならない。ただし、このターンのVimはバトルと
|機能の適用を行えず、インストールしているプラグインも無効化される。このコマンド
|の機能は相手のターンでも適用できる。
 -------------------------------------------------------------------------------

「くっ、命拾いしたわね。これで私はターンを終了します」

来夢:EP 1800 メモリ 4/8 メインエディタ Sublime Text3
美夢王:EP 1000 メモリ 7/8 メインエディタ Vim

とっさにコマンドを使わないと危なかった……。

「たとえこのターン、ギリギリで凌いだとしても、戦闘力の差は明白。次の私のター
ン、あなたは終わりです」

「確かに、そうかもしれない。だが、編集(エディット)は最後の最後まで分からないも
のだ。これが、我のラスト・ロード!」

来夢:EP 1800 メモリ 4/8 メインエディタ Sublime Text3
美夢王:EP 1000 メモリ 8/8 メインエディタ Vim

我は、ロードしたコマンド名を見て、確信した。

「クックック、完成したぞ。勝利のアルゴリズムが」

「我はVimにインストールした『neo-shell』の機能を適用! メモリ上のコマンドをト
ラッシュに送ることでこのターンの戦闘力をそのコマンドの戦闘力と同じだけアップさ
せる。『ネオ・シェル・エクステンション!』」

「我がトラッシュに送ったのは、戦闘力 400 のコマンド。よって、戦闘力 400 アッ
プ!」

Vim 戦闘力 2500 → 2900

来夢:EP 1800 メモリ 4/8 メインエディタ Sublime Text3
美夢王:EP 1000 メモリ 7/8 メインエディタ Vim

 -------------------------------------------------------------------------------
|neo-shell:プラグイン・Vim
|機能『ネオ・シェル・エクステンション』 メモリ上のコマンドを一つトラッシュに送
|る。このターン終了まで、このプラグインをインストールしたテキストエディタの戦闘
|力は1.5倍となる。この機能は1 ターンに一度のみ適用可能である。
 -------------------------------------------------------------------------------

Vim 戦闘力 2500 → 2900

「さらに、我はロードしたプラグイン『neo-complete』をVimにインストール!」

 Vim 戦闘力 2900 → 3400
 Sublime Text 3 戦闘力 3000

「そして我は『neo-complete』の機能を適用する! メモリ上のコマンドを一つトラッ
シュに送ることで、Vim の戦闘力を 1.5 倍にする。『ネオ・コンプリート・フラッ
シュ!』」

 -------------------------------------------------------------------------------
|neo-complete:プラグイン・Vim
|機能『ネオ・コンプリート・フラッシュ』 メモリ上のコマンドを一つトラッシュに送
|る。このターン終了まで、このプラグインをインストールしたテキストエディタの戦闘
|力は1.5倍となる。この機能は1 ターンに一度のみ適用可能である。
 -------------------------------------------------------------------------------

来夢:EP 1800 メモリ 4/8 メインエディタ Sublime Text3
美夢王:EP 1000 メモリ 6/8 メインエディタ Vim

 Vim 戦闘力 3400 → 5100
 Sublime Text 3 戦闘力 3000

「戦闘力 5100 ……ですって?」

「VimでSublimeText 3にバトル!」

「きゃああああ!」

来夢:EP 0 メモリ 5/8 メインエディタ Sublime Text3
美夢王:EP 1000 メモリ 4/8 メインエディタ Vim

「さ、Sublime Textに勝った!」
「ス、スゲェエエエエエエ」
「暗黒美夢王!」「暗黒美夢王!」「暗黒美夢王!」
「Vim!」「Vim!」「Vim!」

皆の歓声が心地良い。今も昔も、勝利の味は格別ということか。

「思ったよりやるではないか。楽しい編集(エディット)だったぞ」

我は床にへたりこんでしまった彼女に手を差しのべようとした。
だが、彼女はそれを払いのけると、

「ふん。次回は負けません」

と精一杯の強がりを見せるのだった。

「そうか。じゃあまた今度、な」

久しぶりの編集(エディット)だったが、こういうのも悪くな……うっ。

「くっ……体(エディタ)が不安定になって……力を使いすぎたのか……。我の脳がク
ラッ……シュ」
「ちょっと、どうしたのあなた。しっかりしなさい!」
我の意識があったのはそこまでだった。

--------------------------------------------------------------------------------
Scene 3
--------------------------------------------------------------------------------

気付くと、そこは学校の保健室だった。横にいるのは、誰だろう。どこかで見たことあ
るような。

「あれ、来夢ちゃんだったっけ。ずっと僕のことを看てくれたの。どうもありがとう」
「ふ、ふん。優しい言葉を掛けたところで、私には効きません。あのまま勝ち逃げされ
るわけにはいきませんでしたから。それだけです」

そう言うと、彼女はつーんとそっぽを向いてしまった。

『Vim の後継者』なんて言ってたからお近付きにはなりたくなかったのだけど、僕のこ
とを助けてくれたようだし案外悪い人じゃないのかな。

「ずっと気になっていたんだけど、あなたはもしかしてわざと……」
「ん? 何のこと」
「考えすぎよね」




暗黒美夢王の勝利の完成に湧く教室にて、ある男が暗黒美夢王のエディットの様子を眺
めていた。

「そうか、遂にVimを継ぐ者が現れたか。待ちわびたぞ」
「俺のEmacsで完膚なきまでに叩きのめしてくれる。歴史上幾度ともなく繰り返されてき
た因縁。今こそVimとの決着を付けるのだ……。ククク、ははははは!」

(「第3話:宿命の対決」に続く……)

2013年5月16日木曜日

Vim大好き男に「どのVim Pluginが好き?」と訊ねられたとき、女はどう答えたらいいの?

 注意:このエントリはフィクションです。実在する人物、団体、ソフトウェア、プラグインには一切の関係がありません。

暗黒美夢王(仮名) さんの口コミ ( 男性・Vim)

あ、まず前提として、
貴女がVim大好き男を夢中にさせることが、
はたして貴女を幸福にするかどうか、それはまた別問題だけれど。
とはいえ、Vim大好き男たちは玉石混交ながら、
ああ見えて超有名IT企業(!)に勤めているかしこい男なども多く、
したがって、釣り師たる女たちにとっては、
なかなかあなどれない釣り場です。


では、Vim大好き男に「どのVim Pluginが好き?」と訊ねられたとき、
貴女は、どう答えれば理想的でしょう?
まず最初に、その男の.vimrcが500行以下でVimの知識がそれほどある訳でもなく、
そして(Vim script書くほどではないけれど)Vim Pluginが大好きな、
そんなタイプの場合は、
貴女はかれの目を見て、微笑みとともに質問など無視して、こう言いましょう、
「わたしが、あなたのVim Pluginを作ってあげる♪」
これこそまさに必殺の答えです。


そこでVim大好き男が、えへへ、とやにさがったならば、
貴女はひそかにVimテクニックバイブルを購入し、「unite.vim をフレームワークとして使用した便利系ユナイトソース」あたりを
ひそかに作成しておきましょう。これだけで成功まちがいなしです。


しかし、ここでは、もう少しハイレベルな(?)いわゆるVim Plugin作者の男の
落とし方をお伝えしましょう。
この場合、貴女は、こう答えましょう、
「わたしは、貴方のVim Pluginが好き。
いつもgithubでよくインストールするの、ソースコードは綺麗だし、
vim-jpでVim本体の動向にきちんと気を配っているのも、大好き♪」
もしも貴女がそう答えたならば、
その瞬間、Vim大好き男の目はきらりと輝き、
かれの貴女への恋心は、
20%増量になるでしょう。

なぜって、Vim Plugin作者は、
ちょっぴりお洒落なgithubでプラグインを公開していて、
たまに来る不具合報告は胃が痛いながらも、そこがまた
ちょっぴり「ここで俺が頑張らないといけないんだ」とちょっとした優越感をかもしだしていて。
しかもVimmerがよく居場所にしているvim-jpは、
日本のVim Pluginのスタンダードを、
質高く提供していて、なおかつ、
vim_dev数多くのパッチを売りこんだ功績もあって。
したがってvim-jpこそは、
本来なんの接点もないまったく縁もゆかりもない別々の世界に生きている、
Vim(プラグイン)開発者と、玉もあれば石も混じっている、Vim大好き男たちが、
この世界で唯一認められうる場所です。


では、参考までに、危険な回答を挙げておきましょう。
Vim大好き男に「どのVim Pluginが好き?」と訊ねられたとき、
貴女がこう答えたとしましょう、
spf13に入っているプラグインが好き♪ 私は新しい環境にはいつもspf13をフルインストールするの」
その瞬間、Vim大好き男の貴女への恋心は消えます、


なるほどspf13は、外国で人気のVim Pluginディストリビューション、
有名どころのVim Pluginを無難にまとめてあるものの、
しかし、「インストールされているプラグインはなんとXX種類!」とかなんとか無意味な自慢を吹聴し、
プラグイン同士の衝突でVim Pluginについての誤謬を撒き散らした罪がありますから、Vim大好き男にとっては天敵なんです。
また、もしも貴女が「vimballでインストールできるプラグインが大好き♪ あたしお気にいりのvimballが、vim.orgに7個あるよ♪」
と答えたとしても、同様の効果をもたらすでしょう、
なぜって、vimballは、Vim 7.0時代にはパッケージ管理のスタンダードだったものの、
しかしpathogenが現れたころから、いやはやなんともなパッケージに転落し、
いまや、パッケージ管理では、Vundle, neobundleの便利さに遥かに及びません。


またもしもたとえあなたがShougo Wareが大好きで、
「わたし、Shougoのneocomplcacheが好き、vimshellも使うけど、
最高に好きなのはunite.vim♪ vimfilerも、neobundleもすっごく便利なの。」
と、答えたとしたらどうでしょう?
なるほど、貴女の知識量は相当高く、
たしかにShougo Wareは、実装がほとんどVim script であるのにもかかわらず、
便利な機能も揃っているんですけれど、
しかし、貴女の答えを聞いて、Vim大好き男はきっとおもうでしょう、
(なんだよ、マニアックなPluginを知っている女だな、設定に時間かかりそう)って。


貴女が、Vim Pluginが大好きで、お気に入りのプラグイン名を挙げるにしても、
たとえば、surround.vimならば安心でしょう、
なぜならば、surround.vimは、ふつうのVimmerにもマニアにもともに愛されるめずらしいVim Pluginで、
貴女がその名前を挙げても必ずしも、あなたがVimオタ宣言をしているとは受け取られないでしょう。
しかし、たとえば、YouCompleteMeにせよ、ctrlp.vimにせよ、quickrun.vimにせよ、
そういう複雑なPluginの名前をいきなり挙げるのは、ちょっぴり微妙。
ましてや貴女が、「実はVim PluginよりもVimのソースコードが大好き♪ わたし、Vimのソースコードをほとんど全部、理解しちゃった♪ 私と契約して一緒にVimのパッチを書こうよ
と答えたならば、どうでしょう?
これはかなり博打な答え方で、
なるほど、Vimのソースコードは、歴戦のプログラマをも唸らせる魔界ゆえ、
あなたがそう答えた瞬間、Vim大好き男がいきなり超笑顔になって、
鼻の下がだら~んと伸びちゃう可能性もあるにはありますが、
しかし、逆に、(なんだよ、この女、Vimおたく(ソースコード)かよ)とおもわれて、どん引きされる可能性もまた大です、
なぜって、必ずしもVim大好き男がVim大好き女を好きになるとは、限らないですから。
しかも、この答えには、もうひとつ問題があって、
男たちは、女を導き高みへ引き上げてあげることが大好きゆえ、
もしも貴女が、「Vimにパッチを書くのが大好き♪」なんて言ってしまうと、
そこにはもはや、男が貴女にVim Pluginをインストールする余地がまったく残されていません、
したがって貴女のその答えは、
Vim大好き男の貴女への夢を潰してしまうことに他なりません。


ま、ざっとそんな感じです、貴女の目にはVimmerたちは頭がおかしくて変態でVimのことばかり考えているように見えるでしょうが、
しかし、ああ見せて、男は男で繊細で、傷つきやすく、Vimに夢を持っています、
貴女の答え方ひとつで、男の貴女への夢は大きくふくらみもすれば、
一瞬で、しぼんでしまいもするでしょう。



では、スキットを繰り返しましょう。


そして、その「わたしは、貴方のVim Pluginが好き。
githubでよくインストールするの、ソースコードはいつも綺麗だし、
vim-jpでVim本体にきちんと気を配っているのも、大好き♪」
瞬間、Vim大好き男の目がらんらんと輝いたなら、
貴女はこう重ねましょう、
「それからね、いま、わたしが欲しいプラグインはvcs.vim。
VimからVCSを扱えると素敵って話を聞いたから。
あなたのお暇なときがあったら、わたしと一緒にプラグインを共同開発しよ♪」
これでもう完璧です。

そうなったらこっちのもの、
デートの日には、Vim makeをばっちり決めて、とっておきのVim Pluginをインストールして、
知る人ぞ知るVim 人 Tシャツを着てゆきましょう。
その日から、Vim大好き男は貴女の虜になるでしょう。
では、釣り師としての貴女の、愛の幸運と幸福をお祈りします!


あるVimmerのブログ
http://vinarian.blogspot.jp/

元ネタ:インド料理大好き男に「どこの店が好き?」と訊ねられたとき、女はどう答えたらいいの?
http://tabelog.com/tokyo/A1301/A130101/13002457/dtlrvwlst/3464106/

2013年5月6日月曜日

編集王 バトルエディターズ 第1話:彼の名は暗黒美夢王(前編)

注意:この物語はフィクションです。実在する人物・団体・ソフトウェア・テキストエ
ディタとは一切の関係がありません。宗教論争をする意図もありません。

注意:この物語を読んだところで、テキストエディタの知識が付くわけがありません。
物語中に存在するテキストエディタのネタはオマージュ程度であり、知っている人がほ
くそ笑む程度のものです。期待しないようにしましょう。

注意:この物語は皆の反応を見るためのテスト版であり未完成です。話の内容は予告な
く変更される可能性があります。


「ルールを守って楽しくエディット!」


--------------------------------------------------------------------------------
Scene 1
--------------------------------------------------------------------------------

時はエディタ暦 2XXX 年、古代種族プログラ・マーと呼ばれる人々は古代兵器テキスト
エディタを用いて世界を支配していた。Vim, Emacs, Sublime Text……。使用するテキ
ストエディタにより大きな派閥が生まれ、どのテキストエディタを選択するかが国家の
存亡すら左右する。そんな時代も存在した。だがプログラミングの自動化技術の発達
により、存在理由を失ったプログラ・マーは滅びてしまう。
それに伴ないテキストエディタも永遠に失われる、かと思われていた。
しかし、テキストエディタは皆が楽しめるスポーツとして独自の進化を遂げる。
これはテキストエディタを極めることに命を掛ける、少年少女たちの物語である……。

「どうしたの、じっちゃん」
朝、僕は久しぶりにじっちゃんの部屋に呼び出されていた。
じっちゃんはいつにもなく真剣な眼差しで僕を見つめている。
「修よ……。お前はそろそろエディタ使いとして一人前にならんといかん。今日はお前
に威武川家に代々伝わるエディタを授けようと思う。これがそのディスクじゃ」
「古っ! 何年前のディスクだよ、これ。よく今まで残っていたよね」
「ワシもこれが何年前からあるのかはよく分かっておらん。ワシが受け継いだときに、
こいつはすでにボロボロじゃったからの」
僕とじっちゃんの年齢差を考えると、ざっと 50 年以上は余裕で経過していることにな
る。
「まぁいくら古くても動けばいか。よーし、自分の部屋で起動しちゃうぞー」
「あ、話はまだ終わっておらんぞ。そのディスクは……」
じっちゃんが何か言っていた気がするけど、ディスクに夢中だった僕は気付かなかっ
た。このディスクとの出会いが自分の運命を変えてしまうとは知らずに……。

よし、自分の AR 端末にディスクをセット、電源を入れる。
システムの起動が開始し、目の前の AR スクリーンにディスクの内容が写し出される。
さてどんなエディタやコマンドがインストールされているのかな。

「あれっ……」
このディスク、ロックがかかってら。ロックされているなら、事前に教えてくれればい
いのになぁ。仕方ない、じっちゃんのところに戻ってパスワードを聞いてこよう。
僕は端末をそのままに、一度部屋を出ようとした。そのときだ。
突然目の前が真っ暗になった。

暗闇のなかで聞き覚えのない低い声が響いている。
『我の名は暗黒美夢王。我を目覚めさせたのはお前か……?』
暗黒……美夢王(ダークビムマスター)? ひどいネーミングセンスだ。
こういう変わった名前を付けたがるのは、厨二病の人特有らしいと聞いたことがある。
この人は典型的な厨二病患者みたいだ。
「君はどこから話し掛けているの」
『ふむ。質問を変えよう。お前にとって、テキストエディタとは何だ』
「……」
なんて自分勝手なやつだ。僕はとりあえず無視を決めこんでいた。
『お前にとって、テキストエディタとは何だ』
「……」
『お前にとって、テキストエディタとは何だ』
「……」
『お前にとって、テキストエディタとは何だ』
『お前にとって、テキストエディタとは何だ』
しつこいな。仕方ないので答えておくことにする。
「大事なパートナー……かな」
『ふむ、悪くない。ずっと閉じこめられているのも飽きていたところだ。これ よりお前
に付いていくこととする』
僕に付いてくるだって? どういう、意味なんだろう……。
意識はそこで途切れた。

部屋は元のままだった。
「あ、ディスクのロックが解除されてる。ラッキー」
さっきロックされていると思ったのだけど、自分の勘違いだったのかもしれない。
じいちゃんに聞く手間が省けた。
「さてメインエディタはと、V…I…M…。Vim!?」

Vim、それは別名千年エディタ。千年以上の歴史を持つからそう名付けられたらしい。
一時は世界一のユーザ数を誇っていたんだけど、あまりのソースコードの複雑さによっ
てメンテナンスができなくなり、滅んでしまったと伝えられているんだ。もう Vim のバ
イナリもソースコードも残っていないらしい。それがなぜ、じっちゃんの持っている
ディスクにあるんだろう。

僕はふと時計を見る。
「もうこんな時間。早く学校に行かないと遅刻だぁーーー!」
そのまま学校へと向かうのだった。

--------------------------------------------------------------------------------
Scene 2
--------------------------------------------------------------------------------

僕の名前は威武川修(いぶかわ しゅう)。テキストエディタを専門に学べるエディタア
カデミアに通う、普通の高校生だ。ちょっと普通と違うところといえば、みんなより
テキストエディタに興味があるってことカナー。

僕のディスクにインストールされた Vim。これを使って、きっと千年エディタの秘密を
解き明かしてみせるんだ。

「修、何をニヤニヤしているんだ? 気持ち悪い」
彼にも今日の僕がちょっと違うことが分かるらしい。なんてったって、今の僕は Vim 使
いなんだから。Vim使いはつらいなーー。朝から人気者で困っちゃうなーー。
まぁ、彼にVimの事を知らせるのは後でもいいよね。今は誤魔化しておくことにした。
「えへへ、何でもないよー」
この人は派戸能人(はど のうと)君。notepad 使いなんだ。僕とは別のクラスなのに、
最近よく絡んでくるんだよね。
「今月号のエディマガ見たか?」
「あ、見てないや」
そういえば、発売日は昨日だったっけ。買ってはいたんだけれど、すっかり忘れていた
よ。朝はいろいろあったし……。
「今回は Sublime Text 特集だってさ」
「Sublime Text? うーん、知らないエディタだね」
「雑誌が特集するくらいだからな。最近使用者増えているらしいぜ」
「ふーん」
正直、Vim のことで頭が一杯な僕には他のエディタに対して興味が持てなかった。
Vim可愛いよVim

「こらこら、席に付けーー」
この人は海(かい)先生。vi/Vim 系のエディタを使う人が集まる V(ブイ) 組の担任だ。
先生も昔は vi 系のエディタを使いこなしていたらしい。

「今日は転校生を紹介する。Sublime Text 使いの差部来夢さんだ」
「よろしくお願いします」
「なんで、Sublime Text 使いが V 組に?」
実は、エディタアカデミアでは使用しているエディタによって組が分かれている。
ここV組はvi/Vim用のクラスなんだけど、Vimが失われた現在では、vi組のようになって
しまっているんだ。僕もこのVimを手に入れるまではvi使いだったし。
「いろいろあってな……」
(買収だ……ざわざわ)
先生が肩を落とす。
やはり、よほど強引な手を使ったらしい。なんでそこまでしてV組に入ろうとしたんだろ
う。お世辞にも、現在 V組はそれほど人気のあるクラスではない。
「それでは、来夢さん。自己紹介を」
「こほん。差部来夢です。皆さんに私がこのV組に入った理由をお教えしておきましょ
う。私の使用エディタはSublime Textですが、Vim の後継者でもあります。なぜなら
ば、Vimモードを備える Sublime Text こそが Vim をも越えるエディタだからです」
Sublime Text 使いなのに、この人は何を言っているんだ。かかわり合いにならないよう
にしよう。
少女の突飛な主張に騒がしくなる教室。担任もその騒動を止めるのに苦労してい
るようだ。
……うっ! 俺の意識は朝のときのように、とつぜん、遠のいて……。何も見えなく
なった。

--------------------------------------------------------------------------------
Scene 3
--------------------------------------------------------------------------------

我は聞きずてならない彼女の言葉に一気に覚醒、大声を上げた。宿主には悪いが、
彼はちょっと眠ってもらっている。

「ちょっと待った!」
「何ですの?」

「修くん、何をやっているんだ。座りなさい」
静止の声が入るが、我は止まらない。止まるはずがない。テキストエディタの平和を守
る、それが我の使命だ。

我は声高々に宣言する。
「人にはエディタ選択の自由がある。お前が何のエディタを使用しても構わない。だ
が、『自分こそがVim の後継者』との主張には異議を唱えさせてもらおう」
「誰なの、あなたは」
名を尋ねられたら、答えざるをえない。
「クックック……。我こそは、Vimの真なる後継者。使用エディタは本物のVimだ。そう
だな、暗黒美夢王 (ダークビムマスター)とでも名乗っておこうか」
(なんか始まったよ……ざわざわ)
(Vim? 本物?)
(後継者とかマジかよ……)
(新手の寸劇じゃないの)

「それでは、どちらが Vim の後継者に相応わしいか勝負です!」
転校生の少女、来夢はカバンより自分のディスクを取り出す。
「良いだろう、受けてたつ」
我もディスクを取り出す。我が半身(Vim)よ、出番だ。

そして教室内で勝負が始まる。もはや周囲の皆は止めても無駄だと諦めた様子であった。
むしろ積極的にヤジを飛ばしている。まぁこれくらいないと雰囲気は出ないだろう。
肩慣らしには丁度良い。

バトルエディターズの試合は 自分のエディタとコマンド群をイン ストールしたエディ
タディスクを用いて行う。古代においては、液晶モニターと呼ばれ るものを用いてエ
ディットしたようだが、現代では場所を選ばず持ち運びもやり易いAR モニターが主流で
ある。

「エディタディスク セット!」
「メインエディタ 実行開始!」
「AR モニター リンク完了!」
「「編集(エディット)!」」

--------------------------------------------------------------------------------
Scene 4
--------------------------------------------------------------------------------

バトルエディターズのルールに従い、互いのエディタプレイヤーは己の分身となるメイ
ンエディタを実行し、ディスクよりコマンドを 4 つメモリ上にロードする。双方の EP
(エディタポイント)の初期値は 4000。バトルエディターズではこれを 0 にしたプレイ
ヤーの勝利となる。

- TURN 1 -

来夢:EP 4000 メモリ 4/8 メインエディタ Sublime Text2
美夢王:EP 4000 メモリ 4/8 メインエディタ Vim

「先行は私です。私のエディット・ターン。ロード!」
来夢が先行して、ディスクよりコマンドのロードを行う。
「私はメモリ上のSublime Text2 に対してプラグイン『Vimtage Mode』をインストー
ル。プラグインがインストールされたことにより、Sublime Text2 の機能を実行。戦闘
力を 400 Pアップさせます」

Sublime Text2 戦闘力 1100 + 400 → 1500

「先攻のこのターン、私のエディタはバトルできません。ターンを終了します」
相手はいきなり Vim化プラグインをエディタにインストールして仕掛けてきた。
自分こそがVim 使いである、という意地なのだろう。

来夢:EP 4000 メモリ 5/8 メインエディタ Sublime Text2
美夢王:EP 4000 メモリ 4/8 メインエディタ Vim

「我のターン。ロード!」

「我はプラグイン『neo-shell』をVimにインストール。プラグインがインストールされ
たことで、Vimの機能を適用する。戦闘力 500P アップ!」

Vim 戦闘力 1000 + 500 → 1500

現在のVimの戦闘力はSublime Text2と互角である。この状態でバトルをしても相手のEP
にダメージを与えることはできない。ここは相手の出方を見るとしよう。
「我はこれでターンを終了する」

「フン。まずは様子見といったところなのかしら」

- TURN 2 -

「私のターン。ロード!」

来夢:EP 4000 メモリ 6/8 メインエディタ Sublime Text2
美夢王:EP 4000 メモリ 5/8 メインエディタ Vim

「こちらから行かせてもらいます。私はプラグイン『Vimtage Mode』の機能を適用しま
す。これにより、私の Sublime Text2 は Vim としても扱うことができます。『ビム
テージ・チェンジ!』」
「さらにVimとなったSublime Text2に対して、特殊コマンド『モード変更』を適用。こ
のコマンドの機能により、Sublime Text2の戦闘力は 1000ポイントアップ!」

 -------------------------------------------------------------------------------
|Vimtage Mode:プラグイン・Sublime Text
|このプラグインはSublime Textにのみインストールすることができる。
|機能『ビムテージ・チェンジ』 このプラグインをインストールした Sublime Text は
|Vim としても扱う。ただし、Vimのプラグインはインストールすることができない。
 -------------------------------------------------------------------------------

Sublime Text2 戦闘力 1500 + 1000 → 2500

 -------------------------------------------------------------------------------
|モード変更:特殊コマンド・Vim
|このコマンドの機能はVimにのみ適用することができる。
|機能『ビム・モードチェンジ』 このターンのみ、Vimの戦闘力は 1000 ポイントアッ
|プする。ただし、この機能を使用したコマンドはモード遷移状態となるため次のターン
|攻撃ができない。
 -------------------------------------------------------------------------------

「さらにSublime Text2に対して、vi/Vim用特殊コマンド『マクロ』を適用。このコマン
ドの機能により、このターンに実行された特殊コマンドを再度適用します。再度『モー
ド変更』を適用。Sublime Text2の戦闘力はさらに 1000ポイントアップ!」

 -------------------------------------------------------------------------------
|マクロ:特殊コマンド・vi/Vim
|このコマンドの機能はvi/Vimにのみ適用することができる。
|機能『マクロ・エグゼキューション』 このターンに実行された、「マクロ」以外の
|vi/Vimの特殊コマンドの機能を再度適用することができる。
 -------------------------------------------------------------------------------

Sublime Text2 戦闘力 2500 + 1000 → 3500

「Sublime Text2でVimに対してバトル!」

来夢:EP 4000
美夢王:EP 4000→2000

Sublime Text2のアタックにより、双方の戦闘力の差が美夢王のEPから引かれる。バトル
エディターズにおける敗北とはメインエディタがクラッシュをしたときである。メイン
エディタはエディタ同士の戦闘に敗北してもEPが残っている限り、クラッシュを免れ
る。つまり、EPこそが自分達のライフのようなものだ。

「これがSublime Textの……いいえ、私の『Vim』の力ですわ」

「くっ……」
やはりVimtage mode前提のディスク構成になっているらしい。これを早く何とかする必
要がある……。

「私はこれでターンを終了します」

信じるしかない。自分のエディタを。我はディスクから渾身のロードを行った。
「我のターン! ロード!」

来夢:EP 4000 メモリ 4/8 メインエディタ Sublime Text2
美夢王:EP 2000 メモリ 6/8 メインエディタ Vim

(続く)

2013年1月5日土曜日

Vim Advent Calendar 36日目:「暗黒美夢王が紹介するエディタアニメ 2012+おまけ」

※:この投稿にはネタが大量に含まれています。ネタをネタと分かる人だけが読んでください。実在する人物・団体・テキストエディタ・アニメとは一切の関係がございません。

 

 追記:エディタアニメというのは筆者の脳内電波で絶賛配信中のテキストエディタを主役にしたアニメーションのことです。テキストエディタに対する妄想力の高い人にしか見ることができません。


我が名は暗黒美夢王(ダークビムマスター)。
Shougo? 誰だそれは。我が名は暗黒美夢王、以下略。

もう新年が始まってしばらく経つわけだが、昨年は話題のエディタアニメが目白押しであった。これは Vim Advent Calendar であるし、Vim を中心に話題となったエディタアニメのストーリーをおさらいしておくことにしよう。

まず紹介するのは「ビム・アート・オンライン」である。通称 ビマーオンラインと呼ばれている。Vim の戦闘力 1000 万を越えなければ死、という奇抜な設定で話題をかっさらった。Vim の世界に入り込む、というのはこれまでなかったので私にとっても新鮮であった。
主人公は実は Vim の経験者=(ビーマー)で、高い戦闘力で勝ち進んでいくが、物語中では幾度の挫折を繰り返すこととなるのだ。

俺は .vimrc が少ない」.vimrc が少ない残念系 Vimmer が寄り集まって部活動を始めるという話だ。残念系と銘打っておきながら、早々に Vim 充展開となるのはなんともいえないところ。タイトル詐欺ではないだろうか。まぁ、根っからの Vim 充である私には縁がない話である。

エディカツ!」これはいわゆるエディ活、婚活のエディタ版における悲喜交々を描いたアニメである。私は伴侶となるエディタが早々に決まってしまったので、あまりチェックしていない。おそらく、伴侶となるエディタが決まっていない者には得るものがあるはずだ。

テキストエディタだけど、愛があれば関係ないよね!」 ヒロインはとあるプログラマに恋するテキストエディタ。彼のハートを射止めるがために、数々の事件を巻き起こすエディタコメディ(エディコメ)である。テキストエディタとプログラマという、種族を越えた愛が見所。

織田美夢長の野望」時は戦国エディタ時代、エディタ統一を目指す織田美夢長(おだ びむなが)が激しい争いを繰り広げるという戦国ファンタジーアニメである。私としては Vim が数多のエディタを打ち破り、天下を統一できるのかどうかに注目をしている。

美夢二病だけど恋したい」世間では、Vim に関して痛い人々を美夢二病と呼ぶらしい。元美夢二病患者の主人公と現役美夢二病患者のヒロインがおりなすエディタコメディだ。主人公の必殺技「闇のエディタに抱かれて消えろ!」はこれからも人々に語り継がれていくことだろう。
ん? そういえば、何か忘れていたような……。
そうだ。究極のエディタ系アニメと名高い「編集王 バトルエディターズ」の告知をしなければならないのだった。
このアニメは主人公が色々なエディタと対決し、友情を育み、しまいにはなぜか世界を救ってしまうという、美夢二病好きにはたまらない作品となっている。
今回は特別に OP 部分だけをダイジェストでお見せすることにしよう。

-------------------------------------------------------------------------------------
※:この物語はフィクションです。実在する人物・団体・テキストエディタ・プラグインとは一切の関係がございません。

時はエディタ歴 2XXX 年、プログラミングの自動化技術の発達により、プログラマという職業は絶滅の危機に瀕していた。
プログラマと一心同体となり発展を続けていたテキストエディタは滅んでしまう、かと思われた。
しかし、テキストエディタは皆が楽しめるスポーツとして独自の進化を遂げる。
これはテキストエディタを極めることに命を掛ける、少年少女たちの物語である……。

僕の名前は威武川修(いぶかわ しゅう)。テキストエディタを専門に学べるエディタアカデミアに通う、普通の高校生だ。
ちょっと普通と違うところといえば、みんなより Vim に興味があるってことカナー。
Vim、それは千年エディタ。一時は世界一のユーザ数を誇っていたらしいんだけど、あまりのソースコードの複雑さによってメンテナンスができなくなり、滅んでしまったと伝えられている。もう Vim のバイナリもソースコードも残っていないらしい。僕はじっちゃんから受け継いだこの vi を使って、きっと千年エディタの秘密を解き明かしてみせるんだ。

「修、何をぶつくさ呟いているんだ?」
「うわわわ……」
この人は派戸能人(はど のうと)君。notepad 使いなんだ。僕とは別のクラスなのに、最近よく絡んでくるんだよね。
彼によると、僕は Vim の継承者がどうとかこうとかいうらしいんだけど、よく分からない。
「今月号のエディマガ見たか?」
「あ、見てないや」
「今回は Sublime Text 特集だってさ」
「Sublime Text? 知らないエディタだね」
「雑誌が特集するくらいだからな。最近使用者増えているらしいぜ」

「こらこら、席に付けーー」
この人は海(かい)先生。vi/Vim 系のエディタを使う人が集まる V(ブイ) 組の担任だ。先生も昔は vi 系のエディタを使いこなしていたらしい。

「今日は転校生を紹介する。Sublime Text 使いの差部来夢さんだ」
「よろしくお願いします」
「なんで、Sublime Text 使いが V 組に?」
「いろいろあってな……」
(買収だ……ざわざわ)
「私こそが Vim の後継者。Sublime Text こそが Vim をも越えるエディタなのです」
「この人は何を言っているんだ。かかわり合いにならないようにしよう……うっ!」

「人にはエディタ選択の自由がある。お前が何のエディタを使用しても構わない。だが、『Vim の後継者』との主張には異議を唱えさせてもらおう」
「あなたが修ですわね? どちらが Vim の後継者に相応わしいか勝負です!」
「良いだろう、受けてたつ」

「キーボード セット!」
「エディタ 実行!」
「AR モニター リンク完了!」

「「エディット!」」
-------------------------------------------------------------------------------------

作者のメモ:「プラグイン作成の合間に執筆するのに疲れた。ストーリーは固まっているのだけどエディタを戦わせるのが難しいので、誰か代わりに考えてください」 これはひどい。

ちなみに、この先の物語はこういう展開になるらしい。

-------------------------------------------------------------------------------------
※:ここより先は、作者の妄想が多分に含まれています

「俺の名は楠崎遠馬(くすざき えんま)。Emacs エディタを受け継ぎし者だ。この俺と勝負しろ!」

「俺は本当に Vim 使いなのか……」

「威武川、我々とタッグエディットで勝負だ!」

「Vim と Emacs、二つのエディタが混じわるとき、新たなエディタが召喚される!」
「その名は、Vimacs!」
「いや、EmacVisだ」
「それはどっちでもいいだろ」
「「よくない!」」

「創造者(クリエータ)、この時代に存在していただなんて……。もはや無敵じゃないか」

「お前は人がテキストエディタを好きになる気持ちを考えたことがあるか?」

「編集された部分が痛む。まさか、これは闇のエディット!?」

「エディタを道具だと思っているお前に、この俺が負けるはずがない!」
「ならば、お前にとってエディタとは何だ?」
「家族だ!」

-------------------------------------------------------------------------------------


なんという無謀、だがそこが評価できるところであるな。さて最後に私の Vim 勇伝を……うわなにをする、やめ

追記:2013 年のエディタアニメは「俺の彼女とテキストエディタが修羅場すぎる」に期待しています。

(完?)

次回は basyura さんです。よろしくお願いします。

後書き:
今回の Advent Calendar は気付いたらこうなった。