2014年8月17日日曜日

編集王(エディットキング) バトルエディターズ 第4話:正義のヒーロー オクセイダー!

編集王(エディットキング) バトルエディターズ
第4話:正義のヒーロー オクセイダー!

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

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

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


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

「しばらく見ないうちに何か、お前の周りはいつのまにか賑やかなことになってんのな」

派戸君が僕の教室にやってくるなり、そう言った。

「僕も実は何が起こったのかよく分からないんだけど……」

「あれ、E 組の遠馬さんじゃないですか、なんで V 組に?」

V 組の女子が興味新々といった風にやってくる。

「俺の Emacs を最強のテキストエディタとするために、今はこの男と行動を共にするこ
とを選んだ。そのなんだ、俺も愛というものを知りたくなってな」

「キャー、それっていわゆる……」

なんか勘違いしているような気がするんだけれど、深く考えることを止めた。

どうやら、この E 組の楠崎遠馬という人と昨日エディットした後に何かあったようなの
だ。今日になってからというもの、この人に付き纏われて困っているという訳である。

「全くもう、追い払えばよいのに。あなたも物好きね」

来夢ちゃんはそう言うのだけれど、彼も悪い人ではないからなぁ。

「それにしても、今日のお前はだらしない。昨日のお前はもっと、こう熱い男だったは
ず」

「いや、そんなことはないと思うよ」

わ、悪い人ではないからなぁ……。

「遠馬君、派戸君、二人とも午後の授業が始まるわ」

「もうこんな時間か。では、さらばだ。また来る」

「修、何があったのか絶対教えてくれよな」

来夢ちゃんのおかげで助かった。誤解が広まるのを防げた気がする。いや手遅れかもし
れない。


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

次の授業は海先生の学級活動であった。

「それでは本日は今度のエディタ祭でやる出し物を決めるぞ。とはいえ、題目はもう決
まっているんだがな。お前達がやるのはエディ劇だ」

クラス全員の大ブーイング。そりゃそうだよね。劇というのは手間がかかるし、特に役
者が大変だ。僕も役に選ばれたくはないし……。こういうときは目立たず、楽そうな仕
事を回されることをじっくりと待つのがよいと相場は決まっている。

「えー、ではまずは役者を決めるとしようか。誰かやってみたい奴はいるか?」

「ハイッ!!」

元気良く手を挙げたのは、奥 清太(おく せいた)君だった。彼は制服を着崩して
ちょっと怖いんだけれど、こういうの好きなんだよね。僕には真似できないや。

「お、清太か。威勢が良いな。では一人決まりと。他にやりたい奴はいないか?」

当然誰も手を挙げようとはしない。

「仕方ない。ここは他人の推薦でも可とする」

推薦かよ……。推薦された人は事実上の死刑宣告ではないか。
とはいえ、平凡な学園生活を送っている僕を推薦するような人なんているわけないよね。

「はい。今回の劇に、ぜひともという人がいるのです」

「来夢さん。それは誰かな」

僕はすっかり安心していた。

「私は修君にぜひとも役者として頑張ってもらいたいと思いますわ」

来夢ちゃんが僕を推薦するだなんて。薄々思ってはいたが、僕に対する彼女の態度はど
こかおかしい。
やはり、来夢ちゃんと以前エディットしたときに何かあったのでは。
記憶が無いのが本当に悔やまれる。

「先生、そこで一つ提案なのですが私が脚本を書いてもよろしいですか?」

「問題ないぞ。どうせ誰かに頼もうとしていたところだ。皆も異論はないな」

拍手で迎えられる。

「では修君を今回の物語の主役、『暗黒美夢王』にしたいのです」

暗黒……美夢王……? なぜかその名を聞いたとき、急に意識が遠くなって……。

「やはり……あなたは」

来夢ちゃんのその声が耳にはっきりと残っていた。

「主役の話はともかくとして、修君そういうことらしいんだが引き受けてもらえるだろ
うか」

「クックック……我を直々に指名するとは面白い。その願い、引き受けたぞ」

我が指名されたとあっては、黙っているわけにはいかないな。
エディ劇が何かは知らないが、我のテキストエディタによってエディ劇の世界も我が制
覇してくれる。


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

その後、同じグループ同士で分かれることとなった。我は当然役者のグループとなる。
脚本の来夢も同じグループのようだ。

「さて、では配役を決めましょうか」

「俺は絶対にコイツを許さねぇ! 主役は俺の物だ」

我が主役ということに、納得がいっていない様子なのは奥 清太であった。

「ほう……主役を得ることに、よほどこだわりがあるようだな」

「俺はエディ劇部に所属しているんだよ。エディ劇には一定の実力がある。主役を、エ
ディ劇に全く興味なさそうな奴にかっさらわれるのには我慢ならねぇ」

「それがエディ劇に対する愛か。よいだろう、それではエディットで勝負するというの
はどうだ。我が勝ったら主役は我の物、しかし我が負けたらそれを譲ろう」

彼の愛がどの程度のものか知るのにエディットはとても効果がある。
エディットをすれば、その者の全てを知ることができるといっても過言ではないだろ
う。我はこれを求めていたのだ。

「それは面白い。言っておくが、俺はエディットも強いぜ? 勝負を挑んだことを後悔
させてやる」

「構わん。むしろ、強くないと困る。我が本気を出せないからな」

「皆さん、落ちついてくださいーー」

我らの並々ならぬ気迫に、他の者が止めに入ろうとする。それを静止したのは来夢で
あった。

「やらせておきましょう。私もちょうどこれが見たかったのだし。修、あなたが本当に
あの時の彼なのか……。確かめさせてもらうわ」

彼女が何を考えているのか知らないが、好都合だ。今は全力でエディットを楽しむとし
よう。

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


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

- TURN 1 -

清太:EP 4000 メモリ 4/8 メインエディタ sed
修:EP 4000 メモリ 4/8 メインエディタ Vim

「ほう……エディタは sed なのか。珍しい」

「sed は俺の魂のエディタだ。エディタは小さいものこそが美しい。お前こそ、やはり
Vim を使うんだな」

「ああ、それがどうかしたか」

「vi を使っているお前に親近感を感じていたのだが、なぜ気が変わったのかは聞かない
ことにする。先行は貰うぜ。俺のターン、ロード! 俺はメモリより『find』を実行す
る」

「find の機能を適用。このコマンドをトラッシュに送ることで、ディスクより任意の単
体コマンドを機能を無効化して特殊実行する。『ファインド・コマンド!』」

 -------------------------------------------------------------------------------
|find:コマンド
|戦闘力:200
|機能『ファインド・コマンド』 このコマンドをトラッシュに送る。ディスクより任意
|の単体コマンドを機能を無効化して特殊実行する。
 -------------------------------------------------------------------------------

「俺はディスクより『awk』コマンドを特殊実行」

清太:EP 4000 メモリ 5/8 メインエディタ sed

「機能を無効化して特殊実行? これは何かの狙いがあるはずだ……」

「さらに、awk と sed を対象に特殊コマンド『パイプライン』の機能を適用。エクスト
ラディスクより、『編集戦士 オクセイダー』を実行する。AWK と sed の力を受け継ぎ
し戦士よ、今ここに 単体コマンドの矜持を見せよ! パイプライン実行 編集戦士オ
クセイダー!」

 -------------------------------------------------------------------------------
|パイプライン:特殊コマンド
|機能『パイプライン・コネクション』 エクストラディスクのパイプラインコマンドを
|選択する。メモリより、選択したコマンドによって決められた単体コマンドをトラッ
|シュに送る。エクストラディスクより、選択したパイプラインコマンドを特殊実行す
|る。
 -------------------------------------------------------------------------------

清太:EP 4000 メモリ 3/8 メインエディタ オクセイダー

オクセイダー 戦闘力 1500

「俺はこれでターンを終了する」

- TURN 2 -

清太:EP 4000 メモリ 3/8 メインエディタ オクセイダー
修:EP 4000 メモリ 4/8 メインエディタ Vim

「初回から切り札の登場か。なかなかやるな。我のターン、ロード!」

単体コマンドを利用したコンボ。ゾクゾクする。この感覚は久しぶりのものだった。
彼は態度に問題があるが、かなりの実力者であることが伺える。

それならば、多少本気を出さないといけない。まずは、

「我はプラグイン『neo-complete』を Vim にインストールする。プラグインをインス
トールしたことにより、我の Vim の戦闘力は 500 アップする」

Vim 戦闘力 1000 → 1500

「『neo-complete』の機能を適用する。コマンドを 1 つトラッシュに送り、戦闘力をこ
のターン 1.5 倍にする。『ネオ・コンプリート・フラッシュ!』」

Vim 戦闘力 1500 → 2250

「Vim でオクセイダーにバトル!」

「くぅ……。やるじゃねぇか」

清太:EP 3250 メモリ 3/8 メインエディタ オクセイダー
美夢王:EP 4000 メモリ 4/8 メインエディタ Vim

さて、オクセイダーの機能がよく分からない以上、下手に動くと危険か。

「我はこれでターンを終了する」

Vim 戦闘力 2250 → 1500

- TURN 3 -

清太:EP 3250 メモリ 3/8 メインエディタ オクセイダー
美夢王:EP 4000 メモリ 4/8 メインエディタ Vim

「俺のターン、ロードだ!」

「俺は単体コマンド 『sh』 を実行する。sh の機能を適用。EP を 500 支払い、単体コ
マンドを実行する。『シェル・エグゼキューション!』」

清太:EP 2750 メモリ 5/8 メインエディタ オクセイダー

 -------------------------------------------------------------------------------
|sh:コマンド
|戦闘力:0
|機能『シェル・エグゼキューション』 EP を 500 支払う。ディスクより戦闘力 500
|以下のコマンドをランダムでメモリ上に特殊実行できる。
|この機能は 1 ターンに一度適用できる。
 -------------------------------------------------------------------------------

清太:EP 2750 メモリ 6/8 メインエディタ オクセイダー

「俺が実行するのは『cp』コマンド。cp コマンドの機能を適用する。このコマンドは選
択したメモリ上の戦闘力 500 以下のコマンドと同じ機能を得る。『コピー・フィー
チャー!』」

 -------------------------------------------------------------------------------
|cp:コマンド
|戦闘力:300
|機能『コピー・フィーチャー』 自分のメモリ上の戦闘力 500 以下のコマンドを一つ
|選択する。このターンの終わりまで同じ機能を得る。
|この機能は 1 ターンに一度適用できる。
 -------------------------------------------------------------------------------

「当然、俺が選択するのは『sh』コマンド。『シェル・エグゼキューション!』 EP を
500 支払い、単体コマンドを実行する。俺が実行するのは『mv』コマンド」

清太:EP 2250 メモリ 7/8 メインエディタ オクセイダー

「オクセイダーは自分のメモリ上の単体コマンドの数だけ戦闘力を上げる。単体コマン
ドが 3 つ実行されたことで、オクセイダーの戦闘力は 1500 ポイントアップする!」

オクセイダー 戦闘力 1500 → 3000

「なんだと……」

「バトルだ! オクセイダーで Vim に攻撃する」

清太:EP 2250 メモリ 7/8 メインエディタ オクセイダー
美夢王:EP 2500 メモリ 4/8 メインエディタ Vim

「ぐぅ……やるな」

「俺はこれでターンを終了する。これが単体コマンドの力だぜ!」

- TURN 4 -

清太:EP 2250 メモリ 7/8 メインエディタ オクセイダー
美夢王:EP 2500 メモリ 4/8 メインエディタ Vim

「クックック……面白い。困難であるからこそ燃える。それがエディットの真髄だ。我
のターン、ロード!」

「我はメモリより、『neo-mru』を Vim にインストールする。プラグインが インストー
ルされたことにより、戦闘力が 500 アップする」

Vim 戦闘力 1500 → 2000

戦闘力は neo-complete の機能を使っても 3000、これではオクセイダーにはダメージ
を与えることができない。ならばせめて、相手の厄介な単体コマンドを破壊する必要が
あるか。

「我は、sh に対して Vim でバトル!」

「それはどうかな」

「何だと?」

「オクセイダーの機能を適用する! このコマンドがメモリ上に存在する限り、相手は
戦闘力 500 以下の単体コマンドをバトルの対象にできない。弱者を守るのが正義の誇り
だ。『オクセイド・シールド!』」

 -------------------------------------------------------------------------------
|オクセイダー:エディタ・AWK・sed
|パイプライン AWK + sed
|戦闘力:1500
|このコマンドはパイプライン実行でのみエクストラディスクより特殊実行できる。
|このプラグインは AWK としても sed としても扱う。
|自分のメモリ上の戦闘力 500 以下の単体コマンドにつき、500P 戦闘力がアップする。
|機能『オクセイド・シールド』 このコマンドがメモリ上に存在する限り、相手は
|戦闘力 500 以下の単体コマンドをバトルの対象にできない。
 -------------------------------------------------------------------------------

なんと、このコマンドはそういう機能を持っているとは。厄介極まりないな。

「我は……ターンを終了する」

- TURN 5 -

清太:EP 2250 メモリ 7/8 メインエディタ オクセイダー
美夢王:EP 2500 メモリ 5/8 メインエディタ Vim

「俺のターン、ロード! 俺はセドンデスの機能を適用する。『セド・ン・デス!』 こ
の機能を使うには sed を実行している必要があるが、俺のオクセイダーは sed として
扱うので問題ない。 メモリ上のコマンドを 1 つ トラッシュに送らせてもらうぜ。
さーて、何がトラッシュに行くかな?」

 -------------------------------------------------------------------------------
|セドンデス:特殊コマンド
|sed が自分のメモリ上で実行されている場合、次の機能を適用できる。
|機能『セド・ン・デス』 相手のメモリ上のコマンドを 1 つ、ランダムでトラッシュ
|に送る。
 -------------------------------------------------------------------------------

「くっ、我の neo-complete がトラッシュに」

Vim 戦闘力 2000 → 1500

「おっとこれは運が良い。これでお前は俺のコマンドに対する反撃の可能性も無くなっ
たというわけだ」

「俺は sh の機能を適用。EP を 500 支払い、単体コマンドを実行する。『シェル・エ
グゼキューション!』」

清太:EP 1750 メモリ 8/8 メインエディタ オクセイダー
美夢王:EP 2500 メモリ 5/8 メインエディタ Vim

「俺が実行するのは『rm』コマンド。『rm』コマンドの機能を適用する。1 ターンに一
度、自分のメモリ上のコマンドをトラッシュに送ることで EP を 600 回復する。『リ
ムーブ・ヒーリング!』」

 -------------------------------------------------------------------------------
|rm:コマンド
|戦闘力:400
|機能『リムーブ・ヒーリング』 自分のメモリ上のコマンドを一つトラッシュに送る。
|EP を 600 ポイント回復する。
|この機能は 1 ターンに一度適用できる。
 -------------------------------------------------------------------------------

「単体コマンドが実行されたことで当然、オクセイダーの戦闘力は 500 アップする」

オクセイダー 戦闘力 3000 → 3500

清太:EP 2350 メモリ 7/8 メインエディタ オクセイダー
美夢王:EP 2500 メモリ 5/8 メインエディタ Vim

「さっきからエディットを一人で進められている! このコンボ、我も感心せざるをえ
ない」

「更に俺は、『単体コマンドという考え方』の機能を適用する! 俺のメモリ上の戦闘
力 500 以下の単体コマンドの戦闘力は 500 アップする。『コマンド・ワールド!』」

 -------------------------------------------------------------------------------
|単体コマンドという考え方:特殊コマンド
|「コマンド・ワールド」自分のメモリ上の戦闘力 500 以下の単体コマンドの戦闘力
|を、このターンのみ 500 アップする。
 -------------------------------------------------------------------------------

sh 戦闘力 0 → 500
cp 戦闘力 300 → 800
mv 戦闘力 200 → 700
rm 戦闘力 400 → 900

清太:EP 2350 メモリ 6/8 メインエディタ オクセイダー
美夢王:EP 2500 メモリ 5/8 メインエディタ Vim

「単体コマンドの戦闘力を上げる……だと」

いやしかし、この程度では我のエディタの戦闘力を上回ることはできない。意味がない
はずだ。ならば彼には奥の手が?

「俺は『コマンドの結束』の機能を適用する。メモリ上の単体コマンドのバトルをス
キップすることで、オクセイダーの戦闘力を上げる。『ユナイト・パワー!』」

清太:EP 2350 メモリ 5/8 メインエディタ オクセイダー
美夢王:EP 2500 メモリ 5/8 メインエディタ Vim

 -------------------------------------------------------------------------------
|コマンドの結束:特殊コマンド
|「ユナイト・パワー」任意の数の自分のメモリ上の単体コマンドのバトルをこのターン
|スキップする代わりに、指定したコマンドの戦闘力をスキップした単体コマンドの戦
|闘力を合計しただけ上げる。
 -------------------------------------------------------------------------------

オクセイダー 戦闘力 3500 → 6400

「一つ一つは弱くても、単体コマンドは組み合わせれば大きな力となる。少々戦闘力が
過剰だが、これでお前のテキストエディタは木っ端微塵だ! オクセイダーで Vim に
バトル! 4900 のダメージを喰らうといい」

「『一つ一つは弱くても、単体コマンドは組み合わせれば大きな力となる』、か。それ
はその通りだ」

「お前、なんでそんなに余裕なんだ! これが通れば負けは確定する」

「負ける気がないから……だな。お前がこのターン勝負を掛けることは分かっていた。
我は特殊コマンド『インスタント・ネオ』を適用する。エクストラディスクより、
neo-Vim を特殊実行」

 -------------------------------------------------------------------------------
|インスタント・ネオ:特殊コマンド・速攻(クイック)
|機能『インスタント・ネオ・エグゼキューション』 neo と名の付くプラグインがイン
|ストールされている自分のメモリ上の Vim コマンドをトラッシュに送り、neo-Vim を
|エクストラディスクより特殊実行する。このターンの終わりに neo-Vim はトラッシュ
|に送り、Vim を特殊実行する。
 -------------------------------------------------------------------------------

neo-Vim 戦闘力 1000 → 1800

「neo-Vim だと、まさか! 遠馬がお前に負けたというのは本当だったのか」

「そのまさかだ! フハハハハ」

「neo-Vim の実行により、このコマンドの機能を適用できる。『暗黒美夢王の嘲笑』。
我が無効にするのは「コマンドの結束」。『ダーク・ラフイング!』」

 -------------------------------------------------------------------------------
|暗黒美夢王の嘲笑:特殊コマンド・速攻(クイック)
|機能『ダーク・ラフイング』 自分のメモリ上に neo-Vim が実行されている場合、
|このターンに適用された相手のコマンドの機能を一つ無効にする。
 -------------------------------------------------------------------------------

オクセイダー 戦闘力 6400 → 3500

「くっ、だがダメージは受けてもらうぞ」

清太:EP 2350 メモリ 6/8 メインエディタ オクセイダー
美夢王:EP 800 メモリ 3/8 メインエディタ Vim

「俺は……ここでターンエンド」

「『インスタント・ネオ』の機能により実行した neo-Vim はこのターンの終わりに Vim
に戻る」

Vim 戦闘力 1500

かなりギリギリであったが、このターンを凌ぐことができた。
次で勝負を決めるしかないな。


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

- TURN 6 -

清太:EP 2350 メモリ 6/8 メインエディタ オクセイダー
美夢王:EP 800 メモリ 3/8 メインエディタ Vim

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

「我はプラグイン『neo-shell』を Vim にインストールする!」

「そして『neo-mru』の機能を適用する。前のターンにトラッシュに送ったコマンドを復
活させる。我が復活させるのは『インスタント・ネオ』だ。『ネオ・リーセント・エグ
ゼキューション!』」

 -------------------------------------------------------------------------------
|neo-mru:プラグイン・Vim
|機能『ネオ・リーセント・エグゼキューション』 
|前のターンにトラッシュに送ったコマンドかプラグインを特殊実行またはインストール
|する。この機能は1 ターンに一度のみ適用可能である。
 -------------------------------------------------------------------------------

「我は特殊コマンド『インスタント・ネオ』を適用する。エクストラディスクより、
neo-Vim を特殊実行」

「neo-Vim に neo と名の付くプラグインがインストールされている場合、1 つにつき戦
闘力が 800 アップする!」

neo-Vim 戦闘力 1000 → 2600

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

 -------------------------------------------------------------------------------
|neo-shell:プラグイン・Vim
|このコマンドは「neo-Vim」上にインストールされている場合、次の機能が実装される。
|機能『ネオ・プロセス・エクステンション』
|自分のメモリ上の単体コマンドを選択する。このターン終了まで、そのコマンドの戦
|闘力とその機能を得る。その選択した単体コマンドが実行されていない場合、実行され
|る。この機能は 1 ターンに一度しか使用できない。
 -------------------------------------------------------------------------------

「何、お前も単体コマンドを扱うというのか」

「そう。プラグインによる Vim の拡張には限界がある。そこで我は単体コマンドの力す
ら Vim に取り込むことにしたのだ。Vim をシェルとして扱う、それが我の辿りついた単
体コマンドのやり方」

「そ、そんなの邪道だ、邪道に決まっている! なんて気持ち悪い。コマンドが悲しん
でいるはずだ」

「邪悪で結構。我の名は暗黒美夢王、闇の力でテキストエディタを支配する者だ。覚え
ておくがよい!」

「我が選択するのは『mv』コマンド! 戦闘力は 200 アップする」

清太:EP 2350 メモリ 6/8 メインエディタ オクセイダー
美夢王:EP 800 メモリ 4/8 メインエディタ Vim

neo-Vim 戦闘力 2600 → 2800

「『mv』コマンドの機能を適用する。EP を 600 ポイント支払い、自分のトラッシュに
ある単体コマンドを特殊実行する、もしくはプラグインをエディタにインストールでき
る。『ムーブ・トラッシュ!』」

 -------------------------------------------------------------------------------
|mv:コマンド
|戦闘力:200
|機能『ムーブ・トラッシュ』 EP を 600 支払う。自分のトラッシュにある単体コマ
|ンドを特殊実行する、もしくはプラグインをエディタにインストールできる。
|この機能は 1 ターンに一度適用できる。
 -------------------------------------------------------------------------------

「我がトラッシュよりインストールするのは、当然『neo-complete』。neo-complete
がインストールされたことにより、戦闘力は 800 アップ!」

neo-Vim 戦闘力 2800 → 3600

清太:EP 2350 メモリ 6/8 メインエディタ オクセイダー
美夢王:EP 200 メモリ 5/8 メインエディタ Vim

「neo-Vim に neo-completeがインストールされている場合、neo-complete の更なる機
能が解放される。メモリ上のコマンドを二つトラッシュに送ることで戦闘力は 2 倍にな
る!」

 -------------------------------------------------------------------------------
|neo-complete:プラグイン・Vim
|このコマンドは「neo-Vim」上にインストールされている場合、次の機能が実装される。
|機能『ダブル・コンプリート・フラッシュ』
|メモリ上のコマンドを二つトラッシュに送る。このターン終了まで、このプラグインを
|インストールしたテキストエディタの戦闘力は2倍となる。
|この機能は 1 ターンに一度しか使用できない。
 -------------------------------------------------------------------------------

清太:EP 2350 メモリ 6/8 メインエディタ オクセイダー
美夢王:EP 200 メモリ 3/8 メインエディタ Vim

neo-Vim 戦闘力 3600 → 7200

「これで最後だ! 『ダブル・コンプリート・フラッシュ!』」

「ぐぁああああああ!」

清太:EP 0 メモリ 6/8 メインエディタ オクセイダー
美夢王:EP 200 メモリ 3/8 メインエディタ Vim


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

エディットを終えた我らには、最初に存在したギスギスした雰囲気はもう存在しなかっ
た。我々はテキストエディタを通じて語り合ったのだ。

「ひっでぇな。負けちまったよ。俺は」

「お前はよくやった。まぁ、我の方が一枚上手だったがな。クックック」

「かなり危なかったくせに言ってくれるぜ。とはいえ、約束は約束だ。エディ劇の主役
はアンタのものだ」

我はそれに関して、ずっと考えていたことがあった。

「そうだな。約束は果たさねばならない。来夢、脚本を変更してもらえるだろうか。彼
に主役をやらせてほしい」

「なん……だと。正気か?」

「えっ、それは良いけれど……頼んでみるわ」

「頼む?」

彼女がシナリオを書くのではなかったか。何を頼むというのだろう。

「いえ、こっちの話よ」

「我は悪役をやってみたくなったのだ。暗黒は闇、絶対的な悪こそが我に相応しい」

「修……いや、暗黒美夢王、お前は」

「奥 清太といったな。機会があればまた相手になってやる。だがその前に、エディ劇
とやらを成功させようではないか」

「おう、任せな! お前の演技は俺がビシバシと鍛えてやるぜ」

「あんなに仲良くなって。男の考えることはやはり分からないわ」


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

それで結局、エディ劇はどうなったかというと……。

暗黒美夢王は人々に無理矢理 Vim をインストールして Vim 使いにしてしまうという悪
事を働いていた。
そして今日も……。

「キャー!! 暗黒美夢王よ! Vim をインストールされてしまうわ」

「お、俺にエディタをインストールしても、Vim の力には屈しないぞ」

「フハハハハ……!! 逃げても無駄だ! 世界の全てを闇のエディタの力で染めてみせる!」

「そうはさせないぜ」

「お前、何奴だ!」

「編……集! エディタの平和を守る正義の戦士、『オクセイダー』」

マントを翻し現れたのは仮面を付けた戦士であった。

「ほう……お前が我の宿敵『オクセイダー』か。こんなところで会えるとは我も運が良
い」

「正義は負けない。うぉぉぉぉぉぉぉ!」

(電子音)オクセイド・スラッシュ!

「我も本気を出すとしよう。『neo-complete』を我にインストール! 機能を適用、
『ネオ・コンプリートフラッシュ!』」



自分には演技の際の記憶がないのだが、これは相当に評判になったらしい。
これのおかげで、僕は他の人からも暗黒美夢王と呼ばれる始末で……。
僕はもっと普通の生活が送りたかったはずなのに。さようなら僕の平凡な日々。

そしてこの劇が新たな出会いを生み出すことに僕はまだ気付くことはなかった。

今日のバトルエディターズ豆知識:
単体コマンドはそれぞれが戦闘力と固有の機能を持つ。単体コマンドは戦闘力は低い
が、手数の多さと展開の早さが長所となる。舐めてかかると痛い目を見るだろう。
戦闘力が上回れば単体コマンドを破壊することができる。しかし、単体コマンドを破壊
しても EP へのダメージにはならない。エディタへのバトルが可能ならば、エディタへ
のバトルを優先するべきである。

(「第5話:バイナリアンの襲来」に続く……)

2014年8月3日日曜日

momonga.vim #6 の感想

momonga.vim #6 の感想

※:今回は暗黒美夢王語と日本語の二ヶ国語でお送りします。

皆の者、よくぞこのページを見てくれた。我の名は暗黒美夢王である。Shougo ? 誰だ
それは。感想を書くまでが momonga.vim らしいので、今回は momonga.vim #6 の感想記
事を書く ことにした。

我のことをよく知る者なら当然知っていると思うが、我が勉強会に参加するのは半年以
上ぶりである。なぜこれまで、我が参加できなかったかは色々あったので省略する。
人はテキストエディタを考えるだけでは生きていけないのだ……。
しかし今回は C++ 暗黒の軍団の一人として名高い江添氏が参加されるということで、
これは我も参加するしかないということで、滑り込んだわけである。

さらに、最近の我は勉強会に参加したらエディ歌を歌うことにしている。
今回は半年ぶりということで、新作が貯まっており、OP と ED で二曲ずつ歌うことにし
た。このエディ歌のときには江添氏にかなりフォローしてもらった。その協力に感謝し
たいと思う。エディ歌の歌詞の解説も行ったが、皆は理解できただろうか。理解が難し
いと思った場合は、バトルエディターズを参照するとよい。現在 github 上で連載中で
ある。

我のもくもくの成果は vimfiler の修正と、neocomplete の include 補完の分離であ
る。vimfiler の修正は完了したが、ちょっと変更量が多いので様子を見るためまだ
push できていない。include 補完に関しては、未完成である。

江添氏と会うのは初めてであったが、自分の信念をしっかりと持っている人だと感じ
た。もっと対談的なものをやってみたかったが、もくもく会だったので仕方ない。
懇親会?会場の妖怪ハウスでは、江添氏特製のピザをご馳走になった。氏には今回の勉
強会でもいろいろと差し入れをしてもらったり、かなりお世話になった。

最後まで忘れていたが、Vim スクリプトテクニックバイブルがようやく発売されたよう
である。Vim スクリプトテクニックバイブルを会場まで持ってきている者がいたので、
宣伝に使用させてもらった。この本は光の Vimmer も闇の Vimmer もどちらにも役立つ
ようにし たつもりだ。書店で見掛けたらぜひ購入の検討もお願いする。

-----------------------------------------------------------------------------
日本語
-----------------------------------------------------------------------------
みなさん、こんにちは。このページを見てくれてありがとうございます。私は Shougo
です。暗黒美夢王? 誰ですか。それは。momonga.vim #6 に参加したのですが、感想を書
くまでが momonga.vim らしいです。今回は momonga.vim #6 の感想記事を書くことにし
ました。

皆さんは知っているかもしれませんが、私が前回勉強会に参加したのは半年以上前です。
なぜこれだけ間が空いてしまったのかについては、色々あるので省略します。
人は残念ながらテキストエディタだけで生きることは難しいのです。
今回は C++ のすごい人として有名な江添さんが参加されるとのことで、私も参加するし
かないと思いました。

最近、私の勉強会でのマイブームはテキストエディタに関する歌を歌うことです。
今回は半年ぶりの参加ということで、新作をいろいろ用意しました。量が多かったの
で、OP と ED で二曲ずつになりました。歌を歌っているときは、江添さんにかなりフォ
ローしてもらいました。ありがとうございます。歌詞にはいろいろな思いが込められて
いたため、歌詞の解説も合わせて行いました。みなさんは理解できましたでしょうか。
理解が難しい場合は、バトルエディターズを合わせて参照するとよいです。

私の今回の成果は vimfiler の修正と、neocomplete の include 補完の分離です。
vimfiler の修正は完了したのですが、ちょっと変更量が多すぎて push には様子を見な
いといけません。include 補完に関しては未完成で、公開までは遠いです。

江添さんと会うのは初めてでしたが、自分の信念をしっかりと持っている人だなと感じ
ました。江添さんとはもっと対談的なものをやってみたかったのですが、今回はもくも
く会だったのでそれはかないませんでした。懇親会?会場の妖怪ハウスでは、江添さん
特製のピザをご馳走になりました。江添さんには会場の提供だけでなくいろい ろと差し
入れをしてもらい、かなりお世話になりました。ありがとうございます。

最後まで忘れていたのですが、私も執筆を行った Vim スクリプトテクニックバイブルが
ようやく発売されたよう です。Vim スクリプトテクニックバイブルを会場まで持ってき
ている人がいらっしゃったので、宣伝に使わせてもらいました。ありがとうございま
す。この本はプラグインを書く人も書かない人も役立つ内容になったと思います。書店
で見掛けたらぜひ購入の検討をしていただけないでしょうか。

2014年7月11日金曜日

「Vim script テクニックバイブル ~Vim使いの魔法の杖」について

皆の者、我は暗黒美夢王である。執筆者の一人である Shougo に頼まれ、今回は我が「Vim script テクニックバイブル」の紹介を行う。
この書籍に関しては mattn 氏が既に紹介しているので、できるだけ被らない情報を出していくことにするぞ。

最初に注意してもらいたいが、これは「純粋な Vim script の学習のための本」であ
る。よって、Vim プラグインについては一部を除き全く取り上げていないので注意する
ように。Vim プラグインについて知りたかったら、前作である「Vim テクニックバイブル」を参照するのだ。もちろん、書籍中に暗黒美夢王が登場したりといったサプライズもないぞ。

これまで Vim script を学ぶ修行というのは険しく、辛いものであった。
我も「闇の Vim の使用法を極める」という職業柄、他人より「Vim scriptを学ぶにはど
うすればよいか」を聞かれることがあ り、その度に苦しんだ。我が Vim script を学ぶ
ことができたきっかけは Vim plugin を書いたからである。その上で、徐々に知識を
アップデートしていったのだ。

Vim script の知識は Vim plugin や Web, :help で吸収することができる。
しかし、 Vim plugin のソースコードや Web の情報は初心者には正しいかどうか分から
ないし、:help は内容が正確だが分かりにくい。
この書籍は執筆時点での最新版である Vim 7.4 に対応しているうえに執筆陣は大ベテラ
ンなので極めて信頼のおけるものである。「Vim script を学ぶためのとっかかり」と
なり、「迷ったときにすぐに戻ってこれる」ものとなるだろう。

これより、内容の紹介に移る。

第一章は Vim script の基本を解説している。紹介している事項は極めて基本的なもの
であるが、読者が Vim script について全く知らない場合は、ここを読むだけでも勉 強
になるであろう。

第二章は Vim script の実行方法と一通りの文法を解説している。第一章と同じく、初
心者には極めて有用な章である。

第三章は応用編となる。silent, execute, マッピングなど、Vim script を書く上
で重要なテクニックについて紹介している。これは本格的に Vim plugin を書きたい場
合に必要となる知識だ。

第四章は Vim script の実行方法である。Vim script はどのようにして実行されるのか
を知ることができる。キーマッピングや補完についても解説されている。

第五章は簡単な Vim plugin を作成し、これまでの復習を行う。

第六章は組み込み関数リファレンスである。Vim script でよく使われる関数をまと
め、:help に載っていない Tips 情報をできるだけ紹介した。これは書籍にしかできな
いことであり、この本はこの章だけでも購入する価値があるはずである。
ちなみに、Vim script のよく使う関数しか解説していないにもかかわらず、この章だけ
で 40 P を越えている。

第七章は上級編である。Vim script のデバッグ情報、高速化の方法、最小構成の作り
方、Web API を Vim から使う方法、vimproc、外部インタフェースについてなどが載っ
ている。

mattn 氏も書いているように、この書籍の執筆には KoRoN 氏の尽力が必要不可欠であっ
た。KoRoN 氏がいなければ、この本が出版されることはなかったであろう。我からも、
ここに感謝の意を表明しておきたい。

さて、豪華な執筆陣と確実な内容、賢明な読者は値段が気になっているのではないだろうか。
「でも、お高いんでしょう?」
「こんなにも内容が充実した書籍がなんと 2786 円(消費税 8% 税込) !」
消費税が上がり、世知辛い世の中になんと 2786円(消費税 8% 税込) なのである。
前作の Vim テクニックバイブル(3218 円:税込)よりも安く、値段が 3000 円を余裕で切ってい
るのはもはや脅威だ。個人的には 3000 円を切るか切らないかで書籍の購入のための心
理的障壁がかなり異なる。特に学生にはこの点が重要となるだろう。

これを読んでいる君、悪いことは言わない。この書籍の発売後には書店へ急ぐべきである。そして我の言っていることが真実であるのかどうか、その目で確かめてほしい。

2014年4月2日水曜日

Web 製作者のための Sublime Text の教科書レビュー

この記事は Vim Advent Calendar 2013 123日目の記事である。今回は先日発売された
Web 製作者のための Sublime Text の教科書」のレビューを行う。えっ、Vim の話題
じゃないって? Vimmer の間には Sublime Text の書籍に興味がある者もいるだろう
し、「Vimmer の視点で見た Sublime Text 本のレビュー」というのは VAC のネタとし
て十分需要があると判断したのだ。VAC は執筆が綱渡りの状態のようだし、ここで支援
しておこうと思ったのも理由としてある。バトルエディターズでもお 馴染みかもしれな
いが、Sublime Text は Web 界隈を中心に最近人気を博して いるテキ ストエディタで
ある。

Sublime Text は Dreamweaver 等からの移行はよく見掛けるが、Emacs/Vim からの本格
的な移行はそれほ ど多くない。ただし、Emacs/Vim に馴染めなかった層の取り込みは
狙っているようであ る。Sublime Text はテキストエディタだが、IDE 的な機能も取り
込んでおり、エディタ と IDE の中間的存在と理解するとよいだろう。あらゆる意味
で、「イマドキのテキスト エディタ」なのである。Emacs/Vim よりも機能が整理されて
いる分拡張性は低いが、後発なだけに 設計が洗練されているとも言える。

この本は「Web 製作者のための」と冠するだけあってなんとフルカラーであり、画面写
真をふんだんに盛り込んでいる。HTML, CSS, JavaScript 関連の本はフルカラーである
ことが多いので、それらをイメージしてもらうとよいだろう。これが Emacs/Vim の教科
書ならばフルカラーというのはまずありえない。ユーザー層の違いを垣間見る ことがで
きる。多数のスクリーンショットはとても分かりやすく、初心者には理解が早いに違い
ない。

もちろん、Sublime Text のパッケージマネージャである Package Control についても
触れられている。私はこの本で Sublime Text のパッケージマネージャが以前のバー
ジョンのプラグインをバックアップしていることを知った。自作パッケージの作り方も
多少解説をしている。とはいえ、それがこの本のメインではないので簡単に流される程
度である。

この本で一番役立つといってよい部分はプラグインの紹介である。多数の Sublime Text
のプラグインがスクリーンショット付きで解説されている。私は Sublime Text ユー
ザーではないのだが、普通の人はここだけでこの本の元は取れるかもしれない。ただ
し、パッケージのチョイスが Web 系(特にデザイナー系)に偏っているので注意してほし
い。「Web 製作者のための」本であるので当然だが、それを予め理解しておかないと
「自分の必要なプラグインは紹介されてなかった」となりかねない。

最近開発が進んでいるバージョンである Sublime Text3 にも対応。Sublime Text3 は機
能の改良が進んでいるらしく、これが広く使われるようになれば Sublime Text は第三
のエディタとして更に頭角を表してくる可能性はある。

Vim ユーザーとして見ても、この本は十分に価値のあるものだった。今は別のエディタ
を使っている人達もこの本を読んで Sublime Text について勉強することは悪くないと
思う。私はせっかくだから、この本で勉強した知識をバトルエディターズ中で生かせな
いものかと考えている。

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 の人格に切り替わることがあったのが反省点であった。やはり暗黒美夢王の人格
を長時間維持するのは難しい。次回は改善したいと思う。

Ext: 懇親会


懇親会では、諸事情により本編では発表できなかった新曲を披露した。なかなか好評
だったので、皆も歌ってみるとよい。では、さらばだ。

編集王バトルエディターズ 第一期主題歌 「暗黒美夢王の叫び」

 さて、我は暗黒美夢王だ。昨日はVimConf2013の懇親会にて、新曲を披露した。
なかなか好評だったのだが、懇親会に参加できなかった者もいるだろうから、ここに歌詞を公開しておく。実際に自分で歌ってみると感極まるに違いない。

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

編集王バトルエディターズ 第一期主題歌
「暗黒美夢王の叫び」 元ネタ『渇いた叫び

このまま もう少し 使おう 力を抜き
増えてく 機能に疲れ 去ってく 使用者(ユーザー)を見た
使い慣れたエディタに 飽きてくる このごろ
Vim がもう一人の自分を作る(フハハハハ!)

彼の情熱が凍りついた心を解かしてく
君と一緒にエディットをしたいな(Vim with me!)
誰も知らない エディタが 僕の中にある
拡張性がカギ 信じて I can edit the Vim

いくつものプロジェクト 一緒に越えただろう?
気が済むまで改造してた あの日の僕等(ぼくら)のエディタ
時代が追い付くなら またきっと評価されるね
その時が来るまで 諦めない

冷めてく想いは どうしても避けられないけど
恋に落ちて 変わってくのもいいね(Vimと一緒に)
焦らず騒がず デフォルトでもいいと思うから
自分の心をエディットしよう just edit my heart

彼の情熱が 皆の思いを呼び覚ます
君を誘ってエディットをしたいな(Vim is my editor!)
誰にも作れない エディタは君の中にある
エディタを信じて 証明しよう Vim is my heart
エディットは続いてく