2015年5月17日日曜日
HP Elitebook Folio 1020 レビュー
初めに:
私はこれまで使用していた Thinkpad X200 を主に開発作業に使用していました。このマ
シンは気に入っていたのですが、ノートパソコンメインでいろいろな作業をしていくに
あたって不満も出てきました。
そこで最近のノートパソコンについていろいろと調査し、HP の Elitebook Folio 1020
が一番良さそうだったのでこれを購入することにしました。
HP Elitebook Folio 1020 は最近到着し、今ではメインマシンとして使用しています。
残念ながら、日本では Elitebook を購入する人が少なく、購入を検討しても情報を集め
にくい状態が続いています。もしかすると、私の他にも HP Elitebook Folio 1020 につ
いて気になっている人がいるかもしれません。
ここでは旧メインマシンである Thinkpad X200 との比較を中心に、HP Elitebook Folio
1020 のレビューをしようと思います。
良い所:
* ファンレス
Thinkpad X200 のファンと熱に辟易していた私にとって、ファンレスの Elitebook
Folio 1020 はそれだけで選ぶ価値のあるものでした。
MacBookAir は一見ファンレスのようにも見えますが、実は液晶との接続部分に穴があ
り、そこから熱を逃がす設計となっています。Folio 1020 は完全にファンレスで穴も一
切ありません。無音状態の PC は静かで本当によいものです。
ファンレスモデルということで、熱が気になる人もいることでしょう。
Core M は発熱が少ないとはいえ、当然熱はあります。使用しているときは、底面がほん
のり温かくなります。Thinkpad X200 の底面の吸気口と同程度の温度でしょうか。個人
的には吸気口よりも排気口の熱が気になるので、排気口レベルの熱がないぶん助かって
います。
インストール作業などでこのマシンにずっと負荷をかけると、パームレスト部分まで熱
が来ます。この状態はさすがに不快となります。ファンレスの PC に負荷をかけること
はオススメしません。Gentoo Linux や BSD 環境など、毎日コンパイルをするような環
境として利用するのはやめておいたほうがよいでしょう。ファンレスのノートパソコン
は放熱に時間がかかるので、そこにも注意が必要です。
* 質感
MacBookAir のパクリと言われればその通りなのですが、金属のボディは質感が高いです。
この表面はヒートシンクも兼ねているので、熱がノートパソコン表面に伝わりやすいの
で注意してください。
* バッテリ持続時間
Linux 環境でテキストエディタ中心の開発作業をしている場合、 6 〜 7 時間持ちま
す。普段は AC アダプタを接続せずに使用できるので、この程度でも十分です。
Core M は低消費電力なのになぜもっとバッテリが持たないのか、と思われるかもしれま
せんが、薄さを重視した Elitebook Folio 1020 は 4 セル 36Wh しかバッテリ容量が
ありません。アイドル時の消費電力は Core も Core M も大差がないので、バッテリ容
量勝負となります。Broadwell の Core プロセッサのノートパソコンは 6 セルバッテリ
を搭載しているものが多く、そちらにバッテリの持続時間が負けてしまうのは当然で
す。しかし、Haswell ノートパソコンとなら十分戦えるレベルです。
このマシンは長く使いたいので、 1000 回寿命のある高耐久バッテリを採用しているの
もポイントが高いです。
* AC アダプタ
AC アダプタは 45W のものでかなり軽量です。しかし、コードはそれなりに太く、耐久
性が確保されています。実は Core M マシンの消費電力は負荷を掛けても 30W 程度なの
で、45 W の AC アダプタでもオーバースペックだったりします。そのせいなのか、この
マシンの AC アダプタの発熱はほとんどありません。Thinkpad X200 は AC アダプタが
65 W で比較的コンパクトなものの発熱量が大きく、マシンに負荷を掛けた状態では触れ
ません。
* 高解像度
Thinkpad X200 の 1280 x 800 の解像度はさすがに狭いと考えていたので、1920 x 1080
のフル HD 液晶は広々と使えて良いです。ただ、デフォルトの状態では文字はかなり小
さくなってしまい、フォントサイズの調整は大変です。
* 液晶(Special Edition は未確認)
ビジネスで使う場合、液晶がグレアかノングレアかというのは重要な要素になります。
このマシンは幸いなことにノングレア液晶です。おそらく、反射防止フィルムが標準で
貼ってあるのでしょう。このマシンは MacBookAir を真似したモデルだということで、
グレア液晶でも我慢しようと考えていましたが、嬉しい誤算でした。MacBook(Air) は
基本的にグレア液晶なので、ノングレア液晶が好きな人には大きなアドバンテージで
す。
Thinkpad X200 は輝度を最低まで下げても十分画面が見えるほど明るいのですが、この
マシンは画面の輝度を最低まで下げると画面が完全に真っ暗になります。消費電力が気
になる人は輝度を下げるとよいでしょう。
液晶は最近流行の狭額縁モデルではないので注意が必要です。
* サイズ
画面サイズは 12.5 インチですが、本体自体は MacBookAir 13 インチとほぼ同じくらい
のサイズです。そのため、MacBookAir 13 インチと同じケースが使用できます。12 〜
13 インチはモバイルにも自宅でも使えるサイズです。その分中途半端になるかもしれ
ません。MacBookAir 11 インチよりも明らかに大きいので、モバイル向けの小さい
ノートパソコンが欲しい人は注意してください。
* キーボード
キーピッチは 15mm〜17mm とアイソレーションキーボードにしては十分に確保されてい
ます。私自身は特に打ちやすい、打ちにくいとは思いませんでしたが、Thinkpad X200
ユーザーが違和感なく使えるアイソレーションキーボードはそれだけですごいのかもし
れません。ボディの剛性感があるからか、キーボードがたわんだりもありませんでし
た。
個人的にこのマシンが優秀なのは、キーボードの配列です。使用頻度の低いキーは Fn
との同時押しになっており、まるで MacBook のように余計なキーがありません。
このあたりが考えられていないノートパソコンだと、明らかに使いにくいキーボード配
列を用意していたりします。
ただし、私は日本語配列の Elitebook Folio 1020 を持っていないため、日本語配列モ
デルに関する感想は差し控えます。残念ながら Elitebook Folio 1020 の日本語版の資
料は公開されていないようですので、日本語配列が気になる人は姉妹機である
Elitebook Folio 1040 のキー配列をチェックするべきでしょう。
* 重量
標準モデルで 1.2 kg と MacBookAir 並の重量なので、さすがに Thinkpad X200 + 6 セ
ルバッテリよりはかなり軽いです。とはいえ、このマシンは薄いだけに見ためより
ちょっと重いのは事実です。モバイル用途として毎日持ち歩くには覚悟が必要で
しょう。Special Edition なら約 1kg のようですが、私は Special Edition を持って
いないので感想は差し控えます。
個人的にはあまりノートパソコンは持ち歩かないのですが、ノートパソコンの重量が軽
いと家の中でも扱いやすいのでよいです。
* 性能
Core M だから性能が悪いのではと思う人がいるかもしれませんが、それでも Haswell
Core i5並の性能はあります。メモリも標準で 8GB あり、普通の開発作業やブラウジン
グには十分です。CPU 自体は仮想化支援にも対応していますが、仮想化した Linux で
GUI を楽しむような作業には向かないので注意してください。そういう用途には Vaio Z
のようなモンスターマシンを採用するべきです。
このマシンで特筆すべきはストレージの性能です。ストレージの高速性はあまり謳われ
ていませんが、UEFI 画面を抜ければ二秒で OS が起動するほど高速です。これくらいの
起動速度ならば毎日シャットダウンを繰り返すような運用でも問題ないでしょう。
悪い所:
* タッチパッド
Thinkpad X200 のトラックポイントは開発作業にはよいもので、ファンも多いです。し
かし、トラックポイントは移動量が多いと指先に負担がかかります。私はトラックポイ
ントの使いすぎで腱鞘炎になりかけたので、自分の使い方にはトラックポイントが合わ
ないと思いはじめました。そこで、次に購入するノートパソコンはタッチパッドモデル
にしました。
このマシンはタッチパッドの広さは十分確保されており、タッチパッドのさらさらとし
た質感は MacBookAir にも似て操作しやすそうに感じられます。しかし、このタッチ
パッドには物理的ボタンがありません。タッチパッドの下方向を押すと左クリック・右
クリックになります。クリックの反応が良すぎて、シングルクリックがダブルクリック
になってしまうこともよくあります。
Windows 環境ではクリック時にスピーカーから音がなります。微妙です。
Windows 環境ではマルチタッチでの操作に対応していたので試しましたが、これも微妙
です。拡大・縮小はなんとか操作できないこともないですが、スクロールは反応が悪
く、意図せずカーソルが動いてしまったりします。
Linux 環境ではタッチパッドがなぜかマウスとして認識されます。タッチパッド用の設
定が認識されないので、キーボード入力時にタッチパッドが反応してストレスが貯まり
ます。今はテキストエディタの設定でマウスを無効化してしのいでいる状態です。Web
ブラウジングもキーボード中心で操作するように矯正中です。
正直言うと、New MacBook のフィードバック付きタッチパッドが欲しいです。
* 価格(ただし英語モデルのみ)
これは日本 HP 特有の問題だと思いますが、簡単に英語配列にできる Lenovo や Apple
とは異なり、英語配列モデルは完全に別モデル扱いで、しかも英語配列モデルには各種
キャンペーンが適用されないので割高となります。
5/13 日現在、MacBookAir 13 インチ 8GM メモリ 256GB SSD は \148,800 (税抜)です。
5/13 日現在、日本語版 Elitebook Folio 1020 G1 12.5 インチ 8GM メモリ 256GB SSD
は \134,000 (税抜)です。
5/13 日現在、英語版 Elitebook Folio 1020 G1 12.5 インチ 8GM メモリ 256GB SSD は
\173,000 (税抜)です。
実際に比較してみると、英語配列モデルの方が約 3 万円も高価です。残念ながら、英語
配列スキーの未来は暗いです。日本語配列でもよいのなら、MacBookAir よりも安いので
十分魅力的でしょう。
* インタフェースは最小限
お手本となった MacBookAir と同様、インタフェースは最小限しかありません。
勉強会でプレゼンをする人には VGA 端子がないのは不便ですし、
デジカメを使う人には SD カードスロットがないのは困ることでしょう。
いまだに有線 LAN が必要な人もいるかもしれません。
私は有線 LAN, VGA のアダプタを購入しました。
* 画面が一杯まで開かない
ほぼ 180° 画面が開く Thinkpad とは異なり、このマシンの画面は 120〜150° 程度ま
でしか開きません。通常の作業には十分ですが、画面の角度を調整したいときには困る
場合もあります。
* Linux を動作させるにはコツが必要
このマシンに Linux をインストールして開発作業を行いたい人もいるでしょう。
しかし、最近の HP のマシンはデフォルトで Windows 8 以外の OS は拒否される設定と
なっています。起動 CD から Linux のインストールに成功しても起動に失敗してしまう
のです。
以下のドキュメントに書いてある通りに UEFI の設定を変更してください。
えっ、書いてあることの意味が分からない? 残念ながら、そういう人はこのマシンに
Linux をインストールしないほうがよいでしょう。
https://wiki.archlinux.org/index.php/HP_EliteBook_840_G1
その他に注意すべき点としては、GRUB の UEFI のモジュールにはマイクロソフトによる
署名付きと署名無しのものがあるということです。
例えば、Ubuntu は署名付きのモジュールを提供していますが、Arch Linux や Manjaro
Linux 等は提供していません。
署名無しの GRUB をロードさせるためには、UEFI 画面でセキュアブートを無効化する必
要があります。セキュアブートが有効のとき、署名無しの GRUB を読み込ませようとす
ると拒否されます。
まとめ:
もちろんこのマシンは幾つか欠点もあり完璧ではありませんが、
ここ数年の中では名機と呼ばれるポテンシャルを秘めた PC だと思います。
少なくとも私は気に入っています。
ファンレスノートパソコンに興味があるなら、HP Elitebook Folio 1020 をぜひ検討し
てみてください。
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 円を切るか切らないかで書籍の購入のための心
理的障壁がかなり異なる。特に学生にはこの点が重要となるだろう。
これを読んでいる君、悪いことは言わない。この書籍の発売後には書店へ急ぐべきである。そして我の言っていることが真実であるのかどうか、その目で確かめてほしい。
この書籍に関しては 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 円を切るか切らないかで書籍の購入のための心
理的障壁がかなり異なる。特に学生にはこの点が重要となるだろう。
これを読んでいる君、悪いことは言わない。この書籍の発売後には書店へ急ぐべきである。そして我の言っていることが真実であるのかどうか、その目で確かめてほしい。
ラベル:
Vim,
Vim plugin,
Vim script,
Vim scriptテクニックバイブル,
Vim7.3,
Vim7.4,
Vimテクニックバイブル,
暗黒美夢王,
開発環境,
環境,
人生,
補完
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 について勉強することは悪くないと
思う。私はせっかくだから、この本で勉強した知識をバトルエディターズ中で生かせな
いものかと考えている。
「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が有効化されていないようだ」
面接官「帰れよ」
学生 「はい。Vimです」
面接官「Vimとは何のことですか?」
学生 「テキストエディタです」
面接官「え、テキストエディタ?」
学生 「はい。テキストエディタです。オープンソースで開発され、無料で利用できます」
面接官「・・・で、そのVimは当社において働くうえで何のメリットがあるとお考えですか?」
学生 「はい。テキストファイルを編集できます」
面接官「いや、当社には編集するようなテキストファイルはありません」
学生 「でも、バトルエディターズではあのEmacsにも勝ってるんですよ!」
面接官「いや、勝つとかそういう問題じゃなくてですね……」
学生 「VimはVimプラグインも使えるんですよ」
面接官「ふざけないでください。それにプラグインって何ですか。だいたい……」
学生 「Vimプラグインです。Vimプラギンという人もいます。プラグインというのは……」
面接官「聞いてません。帰って下さい」
暗黒美夢王 「クックック……我を怒らせてしまったようだな。我がVimの力を見せてやろう」
面接官「いいですよ。見せて下さい。Vimの力とやらを。それで満足したら帰って下さい」
暗黒美夢王 「フハハハハ!!!。命拾いをしたな。このVimにはif_luaが有効化されていないようだ」
面接官「帰れよ」
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へ届け
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 の本なので、例えばこういった解説があります。
全体的に解説が丁寧なので、:help の無味乾燥な解説で挫折した人も Vim に再挑戦することができるでしょう。レビューするために一通り読んでみましたが、日本人の Vimmerがきちんとレビューしているので、記述がおかしい部分もありません。よくできた本です。
他に注目すべきポイントとしては、この本の著者が kana 氏のプラグインに感銘を受けていることでしょうか。kana 氏のプラグインは日本では有名ですが、外国ではマイナーなので、これは驚くべきことです。
この本を読んで、この本はほとんどプラグインについて触れていないので、物足りないと感じる人がいるかもしれません。大丈夫、そういう人のために「Vimテクニックバイブル」があるのです(宣伝)。しかし、「Vimテクニックバイブル」も Vim script に関してはほとんど解説できていないという欠点があります。皆さんが Vim の本や Vim 特集(エディタ特集)の雑誌を購入してくれれば、きっと出版社も「Vim script本はマニアックだけど需要があるからいける」という感触を持ってくれるはずです。ぜひ 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
全体的に解説が丁寧なので、: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話:宿命の対決」に続く……)
ディタとは一切の関係がありません。宗教論争をする意図もありません。
注意:この物語を読んだところで、テキストエディタの知識が付くわけがありません。
物語中に存在するテキストエディタのネタはオマージュ程度であり、知っている人がほ
くそ笑む程度のものです。期待しないようにしましょう。
注意:この物語は皆の反応を見るためのテスト版であり未完成です。話の内容は予告な
く変更される可能性があります。
「ルールを守って楽しくエディット!」
--------------------------------------------------------------------------------
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/
暗黒美夢王(仮名) さんの口コミ ( 男性・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
(続く)
ディタとは一切の関係がありません。宗教論争をする意図もありません。
注意:この物語を読んだところで、テキストエディタの知識が付くわけがありません。
物語中に存在するテキストエディタのネタはオマージュ程度であり、知っている人がほ
くそ笑む程度のものです。期待しないようにしましょう。
注意:この物語は皆の反応を見るためのテスト版であり未完成です。話の内容は予告な
く変更される可能性があります。
「ルールを守って楽しくエディット!」
--------------------------------------------------------------------------------
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 は気付いたらこうなった。
2012年10月20日土曜日
neocomplcache-snippets-complete は neosnippet になりました
こんにちは。Shougoです。最近、またブログをさぼり気味ですが、今回は比較的大きな変更があったので
ブログにまとめておこうと思います。
本日、neocomplcache-snppets-complete は neosnippet にリネームされました。
https://github.com/Shougo/neosnippet
それに伴ない、旧 neocomplcache-snippets-complete は一部仕様を変更した上で残されました。
https://github.com/Shougo/neocomplcache-snippets-complete
まだ使用することはできますが、起動時にメッセージが表示されます。
さて、皆さんが気になるのは、「なぜリネームしたか」ということでしょうから簡単に説明しておきます。
一番大きな理由としては、neocomplcache-snippets-complete は巨大になりすぎたからです。neocomplcache-snippets-complete は私がスニペットを勉強するために開発を始めたプラグインでした。当時の私はスニペットプラグインの恐ろしさを知らなかったので、軽い気持ちでneocomplcache の一部として開発していました。
しかし、スニペットプラグインというのは複雑すぎました。要望の量は neocomplcache の次に多く、それに答えるうちに neocomplcache-snippets-complete は肥大化し、ついに
neocomplcache 本体から分離されることとなりました。
本体から分離されても neocomplcache-snippets-complete は巨大になり続け、ついにneocomplcache から独立することになりました。neocomplcache への依存をなくし、一つのスニペットプラグインとして再出発することになったのです。
もう一つの理由としては、neocomplcache-snippets-complete という名前が長すぎたからです。neo シリーズなスニペットプラグインという位置付けをするため、neosnippetという名前になりました。
neosnippet の変更点は以下の通りです。
Q: vim.org にある neocomplcache-snippets-complete はどうなるの?
A: 警告入りのバージョンをアップロードするか検討中。neosnippetはいずれ vim.org にもアップロードします。
Q: neosnippet のマーカーはどうするの?
A: neosnippet はマーカーを使用するスニペットプラグインとして有名でした。ただ、最近はマーカーを使用することによる問題点もいくつか明らかになっています。例えば、マーカーで実現できないものとして「プレースホルダのスキップ、逆方向へのジャンプ」、マーカーでは実現するのが難しい機能として「プレースホルダの変換」が挙げられます。ただし、マーカーを用いる利点もあり、「どこにジャンプするのか分かりやすい」「入れ子のスニペットに対応できる」「テキストを盛大に変更しても、マーカーが残っている限りジャンプできる」というのが挙げられます。マーカーが好きでなければ他のスニペットプラグインを用いればよいわけで、現在は対応を保留中です。つまり、まだマー
カー方式のままです。何か良い案があれ ば教えてください。
Q: neocomplcache-snippets-complete との互換性は?
A: neosnippet でも neocomplcache-snippets-complete と同じコマンドやキーマッピング、変数が使用できます。ただし、これらは新しい名前が推奨されています。将来的に互換機能が削除される可能性もありますので、注意してください。スニペットファイルの文法に違いはないので、スニペットファイルは全く同じものが使用できます。ちなみに、neosnippet は neocomplcache-snippets-complete とは共存ができません。
Q: これからの neosnippet はどうなるの?
A: neocomplcache-snippets-complete は開発が凍結されますが、neosnippet の開発はこれまで通り継続されます。最近だと、ujihisaさんが開発に加わってくれています。
ブログにまとめておこうと思います。
本日、neocomplcache-snppets-complete は neosnippet にリネームされました。
https://github.com/Shougo/neosnippet
それに伴ない、旧 neocomplcache-snippets-complete は一部仕様を変更した上で残されました。
https://github.com/Shougo/neocomplcache-snippets-complete
まだ使用することはできますが、起動時にメッセージが表示されます。
リネームの理由:
さて、皆さんが気になるのは、「なぜリネームしたか」ということでしょうから簡単に説明しておきます。
一番大きな理由としては、neocomplcache-snippets-complete は巨大になりすぎたからです。neocomplcache-snippets-complete は私がスニペットを勉強するために開発を始めたプラグインでした。当時の私はスニペットプラグインの恐ろしさを知らなかったので、軽い気持ちでneocomplcache の一部として開発していました。
しかし、スニペットプラグインというのは複雑すぎました。要望の量は neocomplcache の次に多く、それに答えるうちに neocomplcache-snippets-complete は肥大化し、ついに
neocomplcache 本体から分離されることとなりました。
本体から分離されても neocomplcache-snippets-complete は巨大になり続け、ついにneocomplcache から独立することになりました。neocomplcache への依存をなくし、一つのスニペットプラグインとして再出発することになったのです。
もう一つの理由としては、neocomplcache-snippets-complete という名前が長すぎたからです。neo シリーズなスニペットプラグインという位置付けをするため、neosnippetという名前になりました。
主な変更点:
neosnippet の変更点は以下の通りです。
- 名前が変更された
- バグが修正された
- 新機能が追加された
- vital 化された
- 変数名、コマンド名、キーマッピング名が変更された
- 内部実装やインタフェースが整理された
- neocomplcacheに依存しなくなった
よくある質問:
Q: vim.org にある neocomplcache-snippets-complete はどうなるの?
A: 警告入りのバージョンをアップロードするか検討中。neosnippetはいずれ vim.org にもアップロードします。
Q: neosnippet のマーカーはどうするの?
A: neosnippet はマーカーを使用するスニペットプラグインとして有名でした。ただ、最近はマーカーを使用することによる問題点もいくつか明らかになっています。例えば、マーカーで実現できないものとして「プレースホルダのスキップ、逆方向へのジャンプ」、マーカーでは実現するのが難しい機能として「プレースホルダの変換」が挙げられます。ただし、マーカーを用いる利点もあり、「どこにジャンプするのか分かりやすい」「入れ子のスニペットに対応できる」「テキストを盛大に変更しても、マーカーが残っている限りジャンプできる」というのが挙げられます。マーカーが好きでなければ他のスニペットプラグインを用いればよいわけで、現在は対応を保留中です。つまり、まだマー
カー方式のままです。何か良い案があれ ば教えてください。
Q: neocomplcache-snippets-complete との互換性は?
A: neosnippet でも neocomplcache-snippets-complete と同じコマンドやキーマッピング、変数が使用できます。ただし、これらは新しい名前が推奨されています。将来的に互換機能が削除される可能性もありますので、注意してください。スニペットファイルの文法に違いはないので、スニペットファイルは全く同じものが使用できます。ちなみに、neosnippet は neocomplcache-snippets-complete とは共存ができません。
Q: これからの neosnippet はどうなるの?
A: neocomplcache-snippets-complete は開発が凍結されますが、neosnippet の開発はこれまで通り継続されます。最近だと、ujihisaさんが開発に加わってくれています。
2012年9月8日土曜日
Shibuya.el の感想と(LT?)スライドの公開
先日行われた、Shibuya.elに参加してきました。残念ながら、Ustream等は行われなかったので、会場へ行けなかった皆さんはいったいどんな発表があるのか気になっていることでしょう。他の人も何人か感想記事を載せているようですが、思ったよりも少なかったので、私も感想記事を書いておこうと思います。
ainameさんは、Shibuya.el を開催するために、Emacs Lisp を覚えたそうです。すごいですね。作ったのは、「hjkl-mode」という Emacs で vi キーバインディングを提供するメジャーモードのようです。コードを読む機会が多いので便利だそうです。この発表を聞いて私は、るびきちさんが以前設定を紹介していた、「view-modeでhjklで移動する設定」を思い出しました。
Emacs標準のテストフレームワークであるERTの紹介です。テストフレームワークは作ったものの、なかなかテストを書けていない私には耳が痛い話でした。この発表を聞いて、私ももっとテストを書きたいと思いました。
dvorak配列の宣伝でした。キーボード配列も一種の宗教ではないかと個人的には思います。こだわりのある人も多いですが、私はキーボード配列を変更するのはVim内だけで十分ですね……。
twittering-modeのはやみずさんの発表。さすがに発表がうまかったです。ホモ・イーマクスとホモ・ヴィムで吹きました。なぜ tokyo-emacs が無くなってしまったのかがよく理解できる話でした。勉強会は運営者に負荷が集中しがちなので、どうにかしたいところですね。これは別にEmacs勉強会に限った話ではなく、Vim勉強会でも問題になっている気がしています。
LTなので時間は短かったはずなんですが、内容は濃く、よくまとまっていたと思います。m2ymさんのプラグインが実際に動いているところを見れてよかったです。Ruby 1.9対応のRSenSeの次期バージョンとか、新たな拡張機能の話とか、今後がとても気になる発表でした。
前半はkinesisの宣伝w。後半はChangelogメモと、Changelogメモに特化したgrep拡張の話。エディタの中でメモを取る機能は一定の需要がありますよね。
私の発表です。
スライドの内容は見てもらったら分かると思います。
あ…ありのまま 今 起こった事を話すぜ!
『おれはShibuya.elのためにLTを作っていたと思ったらいつのまにか基調講演になっていた』
な… 何を言ってるのか わからねーと思うが
おれもどうしてこうなったのかわからなかった…
しんぱいしていましたが、こうひょうみたいでよかったです
本日のメインです。私はずっとVimについて語っていたような気がします。「酔っているんですか?」と聞かれましたが、私は会場でお酒を飲んでいません。しいていうなら、「Vimに酔っていました」。
とりあえず、議論になったのはこういう話題です。
Vim(Emacs)でご飯を食べていくには
情熱Vimmer
仕事とVim(Emacs)
Vim(Emacs)拡張開発での苦労
勉強会主催者はマゾ
拡張機能のテストどうする?
m2ymさんと拡張機能開発あるある
印象に残ったやりとり:
私「m2ymさんはデフォルトのキーバインドを大事にされているのなら、もちろん<C-h>もそのままなんですよね?」
m2ym「いや、それはさすがに無理。私はヘルプをそんなに開かないんで」
「<C-h>はキーマッピングを変更させるための陰謀ではないか」
Emacs 勉強会に参加するのは初めてでしたが、特に Vimmerだから差別されるといったことはなく、和気あいあいと議論に参加できたと思います。また次回があれば、ぜひ参加したいですね。そのときには、自分の作ったVim のプラグインをEmacs ユーザに向けて紹介してみたいと思っています。
ainame : 初めてのemacs lisp
ainameさんは、Shibuya.el を開催するために、Emacs Lisp を覚えたそうです。すごいですね。作ったのは、「hjkl-mode」という Emacs で vi キーバインディングを提供するメジャーモードのようです。コードを読む機会が多いので便利だそうです。この発表を聞いて私は、るびきちさんが以前設定を紹介していた、「view-modeでhjklで移動する設定」を思い出しました。
uk_ar : 「Emacs Lispのテスト」について
Emacs標準のテストフレームワークであるERTの紹介です。テストフレームワークは作ったものの、なかなかテストを書けていない私には耳が痛い話でした。この発表を聞いて、私ももっとテストを書きたいと思いました。
Hiroaki Nagata : emacsとdvorak配列について
dvorak配列の宣伝でした。キーボード配列も一種の宗教ではないかと個人的には思います。こだわりのある人も多いですが、私はキーボード配列を変更するのはVim内だけで十分ですね……。
Yuto S Hayamizu : tokyo-emacs という歴史上の出来事
twittering-modeのはやみずさんの発表。さすがに発表がうまかったです。ホモ・イーマクスとホモ・ヴィムで吹きました。なぜ tokyo-emacs が無くなってしまったのかがよく理解できる話でした。勉強会は運営者に負荷が集中しがちなので、どうにかしたいところですね。これは別にEmacs勉強会に限った話ではなく、Vim勉強会でも問題になっている気がしています。
m2ym :最近作った拡張(popwin.elなど)について
LTなので時間は短かったはずなんですが、内容は濃く、よくまとまっていたと思います。m2ymさんのプラグインが実際に動いているところを見れてよかったです。Ruby 1.9対応のRSenSeの次期バージョンとか、新たな拡張機能の話とか、今後がとても気になる発表でした。
at_aka : clgrep.el について
前半はkinesisの宣伝w。後半はChangelogメモと、Changelogメモに特化したgrep拡張の話。エディタの中でメモを取る機能は一定の需要がありますよね。
ShougoMatsu : 「Vimmerから見たEmacs」
私の発表です。
スライドの内容は見てもらったら分かると思います。
あ…ありのまま 今 起こった事を話すぜ!
『おれはShibuya.elのためにLTを作っていたと思ったらいつのまにか基調講演になっていた』
な… 何を言ってるのか わからねーと思うが
おれもどうしてこうなったのかわからなかった…
しんぱいしていましたが、こうひょうみたいでよかったです
懇親会
本日のメインです。私はずっとVimについて語っていたような気がします。「酔っているんですか?」と聞かれましたが、私は会場でお酒を飲んでいません。しいていうなら、「Vimに酔っていました」。
とりあえず、議論になったのはこういう話題です。
Vim(Emacs)でご飯を食べていくには
情熱Vimmer
仕事とVim(Emacs)
Vim(Emacs)拡張開発での苦労
勉強会主催者はマゾ
拡張機能のテストどうする?
m2ymさんと拡張機能開発あるある
印象に残ったやりとり:
私「m2ymさんはデフォルトのキーバインドを大事にされているのなら、もちろん<C-h>もそのままなんですよね?」
m2ym「いや、それはさすがに無理。私はヘルプをそんなに開かないんで」
「<C-h>はキーマッピングを変更させるための陰謀ではないか」
Emacs 勉強会に参加するのは初めてでしたが、特に Vimmerだから差別されるといったことはなく、和気あいあいと議論に参加できたと思います。また次回があれば、ぜひ参加したいですね。そのときには、自分の作ったVim のプラグインをEmacs ユーザに向けて紹介してみたいと思っています。
ラベル:
Emacs,
Emacs Lisp,
Vim,
Vim plugin,
Vim script,
愛,
開発環境,
人生,
勉強会
2012年5月27日日曜日
x86勉強会#2のスライドを公開しました(補足付き)
昨日(5/26)はx86勉強会#2でした。
他の人の発表内容については、他の人のブログ記事に期待するとして、私は当日の
発表スライドを公開しようと思います。
------------------------------------------------------------------------------------------
第一部:帰ってきたvinarise : Vim X バイナリ = 最強 (二ヶ国語放送)
# はじめに
* 今回のスライドは世界初!?(バイナリ/日本語)の二ヶ国語放送でおおくりしています。
* つまり、日本語よりバイナリのほうが堪能であったとしても大丈夫
* バイナリアンにやさしいプレゼンテーションです
* スライドの再生にはvinariseを使用しています(セルフプレゼンテーション)
* vinariseはプレゼンテーションツールだったんだよ!(な、なんだってーーAA略)
# 自己紹介
* 知っている人も多いと思いますが……。
* Shougoです。
* 伝説的なプレゼン「Vim = VM」
* Twitterでは@ShougoMatsuとして活動しています。
* 「迷言:Vimは家族」
* Blog : http://vinarian.blogspot.com/
* Vim大好き
* Vim病にかかって4年経ちますが、日々症状は悪化しています
* Vim勉強会以外にもたまに出没する(たとえばこの勉強会とかね!)
* 今日はx86/Vim勉強会と聞いてきました
# vinariseとは?
* Vim上で動作するバイナリエディタプラグイン
* ブイナライズと発音する
* 名前の由来は、Vim + Binary + Analyse
* ただのバイナリエディタではない。解析ツールを目指す。
* 全く宣伝してないのに、外国のユーザが居たりする。よく分からない。
# なぜvinariseを開発したのか?
* テキストエディタはバイナリファイルくらい開けないといけない
* Vimにはxxdがある。しかし機能がショぼい
* Vim pluginと連携したい
* 日本語対応させたい
* 巨大ファイル開きたい
* じゃあ自作するしかない(死亡フラグ)
* Emacsのhexl-mode?なにそれおいしいの(正直比較にならない)
# vinariseの特徴
* マルチプラットフォーム
* 巨大ファイルを開ける
* 日本語ファイル対応
* ビットマップビュー
* プラグインで拡張可能
* バイナリファイル自動認識
# Emacs hexl-modeとの比較(ネタ)
* hexl-modeは数十メガバイトのファイルを開くとフリーズ
* hexl-modeは日本語に対応していない(外国産のバイナリエディタにありがち)
* バイナリエディタとしての機能が圧倒的に足りない
* ぶっちゃけ、xxdにGUIを付けたような(以下自主規制)
# vinariseの歴史
* 昔はxxdを使っていた
* 2010年5月頃 Kernel/VM勉強会でバイナリアンに興味を持つ
* アイディアを収集しながら作成開始
* 2010年8月頃 x86勉強会 #1で披露する
* 協力者が徐々に集まる
* 長い停滞(やる気なし)
* 2011年9月頃 Vimテクニックバイブルにvinariseのことをちょっとだけ載せる
* さすがに開発しないと詐欺と思われそう
* 2012年1月頃 開発再開する
* いろんな機能を付け、当初のものとはほとんど別物に
* 現在に至る
# vinariseのインストール方法
* githubから取ってきましょう。
* 今ならneobundleを推奨
NeoBundle 'Shougo/vinarise'
* VimのPythonインタフェースが必須
あなたのVimを:echo has('python')で確認してみましょう。
# vinariseの簡単な使い方
* A: ファイルをVimで開き、:Vinarise
* B: :Vinarise {ファイル名}
# vinariseの機能
* マルチプラットフォーム
* 巨大ファイルを開ける
* 日本語ファイル対応
* ビットマップビュー
* プラグインで拡張可能
* Vim pluginとの連携
* バイナリファイル自動認識
# 巨大ファイルを開ける
* vinariseはメモリマップを利用して、1GB程度の巨大ファイルを一瞬で開くことができる
* xxdやEmacs hexl-modeでは無理
* ghexでイメージファイルを開こうとしたらフリーズしました……
* bviや大半の外国製バイナリエディタでは無理
* 大事なことなので三回説明した
* ちなみに、バッファは現在見ているところしか行を生成しない
* Vimは行が多かったりすると重いが、vinariseは脅威のVim scriptテクノロジーによっ
て重くない
* デモ:Ubuntu 12.04 LTS 日本語Remix CD(700MB)を開く
# マルチプラットフォーム
* Windows界では需要のおかげか、バイナリエディタがたくさんある
* しかし、Mac界やLinux界には不足している
* vinariseは基本的にVimとPythonさえ動作する環境ならどこでも動作する
* 他のバイナリエディタに対する圧倒的アドバンテージ!
* Androidでも動作する……とよいですね(未確認)
# 日本語ファイル対応
* vinariseはもちろん日本語ファイルを開くことができる
* 対応エンコーディング:UTF-8, UTF-16BE/LE, cp932, EUC-JP
* ただし、初期はASCIIモード
* Eを押してエンコーディング形式を指定する
* :Vinariseの引数 --encoding=で指定してもよい
* 実装はかなり頑張ったので、日本語ファイルだから遅くなるということはない
* デモ:vinariseで日本語ファイルを開く
# ビットマップビュー
* みんな大好きなビットマップビューにも対応している
* Vimで目grep! みんなの夢
* 使い方はvinariseのバッファで":VinarisePluginBitmapView"コマンドを実行するだけ
* GVimだとフォントが小さくなり、よりそれっぽくなる
* ASCII, コントロールコード, マルチバイトコードを判別
* デモ
# プラグインで拡張可能
* vinariseはプラグインによる拡張機能がある
* 実際に、s_yukikazeさんによりPEを解釈するプラグインが作られている。
https://github.com/s-yukikaze/vinarise-plugin-peanalysis
* いろいろ忙しくて、プラグインの仕様はドキュメント化されてない
* 作ってみたくなったら、BitmapViewのプラグインのソースコードを見ると良い。
# Vim pluginとの連携
* vinariseはVim pluginと連携できる
* vimfilerで、Bを押すとvinariseで開く
* 他にもやってみたいとは思っているのでアイデア募集中
# バイナリファイル自動認識
* .vimrc内でlet g:vinarise_enable_auto_detect = 1とする
* 「:edit バイナリファイル」を実行すると、開いたファイルがバイナリファイル
っぽかったら自動で認識してvinariseで開く。
* ELFっぽかったら、objdumpで開く
* デモ
# vinariseの制限
* 1.6GB以上のファイルは開けない(仮想メモリの制限)
* バイトの挿入・削除はできない
* バイト列を型変換して表示することはできない
* ファイルの保存は遅い
* アンドゥできない
# 今後のvinariseについて
* 2GB以上のファイルへの対応
* ファイルの保存を高速にする
* バイトの挿入・削除への対応
* ISO-2022-JP文字コードへの対応
* バイト列の型表示はプラグインでやる予定
* アンドゥを実装する
* バイナリの構造を表示(バイナリファイルのアウトライン表示)
# 終わりに
* 今日覚えて欲しいこと「Vimは優秀なバイナリエディタ」である
* 「hexl-mode, xxd? なにそれおいしいの」
* vinariseを使うと、Vimをバイナリエディタにすることができます
* みなさんも使ってみた感想があれば、@ShougoMatsuまで
* ただし、あまりに無茶な要求はしないようにしましょう
* Vim + Python縛りはつらいのです
* 業務で使用できるような高機能なバイナリエディタ(解析ツール)というのは金が取れるレベルです
* これを機会に、みなさんもHappy vinarise!
------------------------------------------------------------------------------------------
第二部:Vimネタスライド
何も言わず、リンク先のスライドを見てほしい……。
http://www.slideshare.net/Shougo/vim-13092304
どう思う? すごく、Vimです……。
うん、またなんだ。すまない。もはや謝って許してほしいとも思っていない。
しかし、vinariseのおかげでVimに興味を持った人ならきっと楽しんで貰えると思ってこ
のスライドを用意したんだ。
------------------------------------------------------------------------------------------
ネタスライド補足
私としてはみなさんに楽しんでもらえるよう、万全を期して用意をしたはずなのですが
、Twitterの感想を見ていると一部の人が私の発表に不満を覚えているようです(特に第
二部について)。
このまま誤解されているのも、何だか悲しいので私の発表の真の意図をここで説明した
いと思います。ちなみにネタばれ全開なので、私の発表をまだ見ていない人はすぐに回
れ右をするんだ!
* 私の発表内容は私の個人的見解であり、私の発表にいかなる不満を持ったとしても
Vimや他のVimmerに対して悪い印象を持たれないでください。私はただの一人のVimmer
にすぎません。
* 少なくとも前半はバイナリエディタ(とVim)の話をしました。この内容自体は問題ない
はずです。
* 第二部はほぼVimオンリーの話になっていますが、それはオマケスライドだからです。
自分の発表でVimに興味を持った人がいるかもしれないので用意しました。事前に聞いて
みたところ、Vimを日常的に使用している人も多くいました。
* 最初から内容を公開してしまう手もありましたが、ネタばれすることでつまらなくな
ると思い、それは避けました。最後に発表を持ってきたり、発表時間が他の方よりも長
いのは、ある意味の予告だと思ってください。※1ただ、当日にアナウンスくらいはしても
よかったかもしれないです。
* このスライドは一ヶ月以上前から作成していて、練習もきちんとしていました。決し
て半端な気持ちで作っていたわけでありません。というより、半端な気分ならあの場で
発表できないでしょう。※2
* x86勉強会でVimの話をしたのは、普段バイナリを扱っている方々にもVimのことを知っ
てもらいたかったからです。Vim勉強会でVimのことを話すよりも良いアピールになると
思いました。私はバイナリ技術も好きなので、バイナリとVimの橋渡しをしたかったので
す。
※1:私の後での発表は誰もやりたくないと思います。
※2:ちなみに、私はKaoriya-Vimを配布しているKoRoNさんから「鋼の心臓を持っている
」認定を受けました。
以上になります。真意を汲み取っていただければ幸いです。
ちなみに、懇親会で私の発表の感想を聞いてみると、好意的に受け取ってくれる人が
多かったようでした。それを聞いて、やって良かったと思いました。
------------------------------------------------------------------------------------------
2012年3月18日日曜日
「Emacs 実践入門」は現時点で最良のEmacs入門書である
これは技術評論社より出版された、「Emacs実践入門」に関するレビューです。
私はVimmerですが、これまで出版されたEmacs本のほとんどは読んだことがあります。そういう視点からレビューしたいと思います。
一言でいうと、この本はEmacsの入門書として最適です。
Emacsの本はこれまでいくつか出てきていますが、初心者が読むのに適した本はなかなかありませんでした。
O'Reillyから出ている入門GNU Emacs第三版はよい本ですが、Emacsの基本操作とEmacs標準のEmacs Lispしか書いていません。
さらに出版からもう9年も経つため、内容が古くなってきています。
Emacsテクニックバイブルは拡張機能のカタログであり、Emacsの入門用の書籍ではありません。
Emacs Lispテクニックバイブルは既存の拡張に飽き足らない人が自分でEmacsを拡張するための本です。
このEmacs実践入門はそこまでページ数が多くないにもかかわらず、
Emacsの基礎からEmacsの拡張するEmacs Lispパッケージの紹介まで一通りの解説がされており、賞賛に値します。
この本は最新のEmacs 23/24に準拠しているため、もし出版から年月が経ってもある程度対応できることでしょう。
まだ正式なリリースがされていないEmacs 24についての情報は貴重であり、この本の価値をより一層高めています。
読んでみて驚いたのは、Emacs設定ファイルの記述方法や管理の仕方がとても詳しく書かれていたことです。
今まで自分が知りたいと思っていた情報がよくまとまっていました。
特に、Emacs 24より搭載されるEmacs Lisp Package Archive(ELPA)の解説は貴重です。
anything.elの解説も、Emacsテクニックバイブルほどではありませんが、充実しています。
この本の最後の章では、Emacsの各プログラミング言語用のメジャーモードが細かく解説されています。
メジャーモードはEmacsテクニックバイブルや入門GNU Emacsでも一部解説されていたと思いますが、
これほど分かりやすく、しかも最新のEmacsに準拠して書かれてはいませんでした。
Emacsは各プログラミング言語用のメジャーモードが乱立しており、どれを使えばいいか分からないような状況に陥ることがよくありました。
しかし、この本に書いてあるメジャーモードを導入していれば間違いはありません。
この章はあまり期待していませんでしたが、よく出来ていたのでポイントが高いです。
私がEmacsに出会ったときにこの本が存在し、Windows環境でのEmacsが今ぐらいに使いやすくなっていたなら、
私がVimではなくEmacsを使っていた未来もあったかもしれません。
ちなみに、私がVimmerやEmacs使いに一冊だけEmacsの本を勧めるとしたら、間違いなくこの本を勧めます。
この本に物足りなくなった人は、EmacsテクニックバイブルやEmacs Lispテクニックバイブルを購入すると良いでしょう。
久しぶりに購入して満足した書籍でした。技術書を執筆した一人として、執筆の困難さは痛いほど分かるため、
この本を執筆したtomoyaさんに最大限の賛辞を送りたいと思います。
※:この本ではEmacsのIMとしてSKK(おそらくddskk)を勧めていましたが、初心者にSKKを勧めるのはどうかと思いました。
SKKは設定が複雑だし、慣れるのに時間がかかるため、初心者にはオススメできません……。
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年5月15日日曜日
ujihisa.vim行ってきました
表題の通り、ujihisa.vimに参加したので今のうちに感想とかでも書いておきます。
UST無かったのが残念ですけど、詳しい内容については他の人の感想ブログでも読めばおそらく察しが付くと思うので、私は適当に思ったこととかを書き連ねておきます。
1.ujihisaさんの「shadow.vim紹介」
私は作業をしていたので、あまり見てませんでした。shadow.vimはJava Script/Coffee Script書くひとには便利なのかなーと思ったり。
2.kanaさんが.vimrcをDisる
これは面白かった。他の人の.vimrcには摩訶不思議な設定がたくさんありますね……。
私も昔はあんな.vimrcだったなぁ、とか思い出しながら見ていた。
3.niwaさんの「Twitter社でのVim+α」
どうやらTwitterでVimを使っている人はものすごく少ないらしい。
TextMateやEclipse使いが多い。
もっとVim使いが増えると良いですね。
残りは時間が余ったので? ユニコードの話。
ややこしい問題が多すぎる……。
4.guyonさん「Vim-tinyの紹介」
突貫で作ったらしい。Vimの機能制限版Vim-tinyの紹介。
512MBしかないLinux Boxではサイズが小さい
Vim-tinyが便利らしい。
5.ujihisaさんの「vital.vim解説」
プラグイン製作者に必須のプラグインvital.vimの解説。
Vimプラグイン製作者は毎日車輪の再発明をしているので、このライブラリは便利です。
6.Shougoの「5分で分かるVimとVim plugin(仮)」
私の発表です。実は、開発環境勉強会でこれを発表しようとしていました。
が、先日の大地震により断念。今回、スライドをパワーアップさせて発表することになりました。
いつもは真面目な発表なので、今回は不真面目です。
参加者からは「これはひどい」「一瞬会場間違えたかと思いましたが、考えてみればいつも通りでした」と絶賛の嵐でした。
スライドは公開しています。こちら。
7.sora_h君のカオスな発表
会場でスライドと発表するためのプラグインを作っていました。
内容はsora_h君の一日。metarwで作った自作プラグインの紹介、Rubyの効果的なバグ報告の仕方、など。
バグ報告の仕方については、Vimのプラグインでもそのまま使えるなーとか思った。
ちなみに、その後は座談会とかする予定だったんですけど、思ったよりも時間が長びいて、
私がプラグインのバグ修正とかに一生懸命だったおかげで流れてしまいました。
残念だったなぁ……。
UST無かったのが残念ですけど、詳しい内容については他の人の感想ブログでも読めばおそらく察しが付くと思うので、私は適当に思ったこととかを書き連ねておきます。
1.ujihisaさんの「shadow.vim紹介」
私は作業をしていたので、あまり見てませんでした。shadow.vimはJava Script/Coffee Script書くひとには便利なのかなーと思ったり。
2.kanaさんが.vimrcをDisる
これは面白かった。他の人の.vimrcには摩訶不思議な設定がたくさんありますね……。
私も昔はあんな.vimrcだったなぁ、とか思い出しながら見ていた。
3.niwaさんの「Twitter社でのVim+α」
どうやらTwitterでVimを使っている人はものすごく少ないらしい。
TextMateやEclipse使いが多い。
もっとVim使いが増えると良いですね。
残りは時間が余ったので? ユニコードの話。
ややこしい問題が多すぎる……。
4.guyonさん「Vim-tinyの紹介」
突貫で作ったらしい。Vimの機能制限版Vim-tinyの紹介。
512MBしかないLinux Boxではサイズが小さい
Vim-tinyが便利らしい。
5.ujihisaさんの「vital.vim解説」
プラグイン製作者に必須のプラグインvital.vimの解説。
Vimプラグイン製作者は毎日車輪の再発明をしているので、このライブラリは便利です。
6.Shougoの「5分で分かるVimとVim plugin(仮)」
私の発表です。実は、開発環境勉強会でこれを発表しようとしていました。
が、先日の大地震により断念。今回、スライドをパワーアップさせて発表することになりました。
いつもは真面目な発表なので、今回は不真面目です。
参加者からは「これはひどい」「一瞬会場間違えたかと思いましたが、考えてみればいつも通りでした」と絶賛の嵐でした。
スライドは公開しています。こちら。
7.sora_h君のカオスな発表
会場でスライドと発表するためのプラグインを作っていました。
内容はsora_h君の一日。metarwで作った自作プラグインの紹介、Rubyの効果的なバグ報告の仕方、など。
バグ報告の仕方については、Vimのプラグインでもそのまま使えるなーとか思った。
ちなみに、その後は座談会とかする予定だったんですけど、思ったよりも時間が長びいて、
私がプラグインのバグ修正とかに一生懸命だったおかげで流れてしまいました。
残念だったなぁ……。
登録:
投稿 (Atom)