全宇宙のVimerの皆さんこんにちは!
Emacsも好きだけど、どっちか選ぶならViを選ぶこの私が、今回歴史あるVimtutorを改変したいと考えました。
とは言っても既に完成されているVimtutorを今更どうするんだよ!
Vimに対する冒涜だ!
とか聞こえてきそうな気もするけれど、温かく大目に見てください。
= ** V I M 教 本 — カーソルが描く言葉の地図 ** =
序文: 静寂の中で文字たちが呼吸する
エディターというのは本来、もっとシンプルであるべきものだ。
それなのにVimはそうじゃない。決してそうじゃない。
Vimは、静かにそこに存在しながらも、時として何かを強く主張してくる。
「こういうやり方がある」とか、「ここを通ってみてはどうだろう」とか。
しかし、そのどれもが完全に強制ではない。
あくまで選択肢を差し出すだけなのだ。
この教本では、Vimの持つ矛盾を少しずつ解きほぐしていく。
簡単だと思う瞬間もあれば、何か見えない壁にぶつかる瞬間もあるだろう。
けれど、それが旅というものではないだろうか。
では、君の手でこの小さな舟を漕ぎ出してほしい。
初めの一歩は、jキーを押すところから始まる。
それだけで、文字たちの静かなざわめきが耳に届くかもしれない。
レッスン 1.1: カーソル移動 - 歩くということの意味
君がカーソルを動かすという行為は、言葉の森を歩くことに似ている。
でも、歩くってなんだろう?そう問い直してみたとき、僕はある記憶を思い出す。
中学生の頃、校庭をひとり歩いていたことがある。
雨上がりの湿った空気、地面に散らばる枯葉、遠くから響いてくる列車の音。
そのとき僕は、何か大きなものの一部になったような気がした。
言葉にするのは難しいけれど、今でもその感覚は残っている。
Vimでカーソルを動かすことは、そんな感覚を思い出させてくれる。
hjklという4つのキーを使うだけで、君は言葉の中を自由に漂うことができる。
いや、漂うというよりも、彷徨うと言ったほうが近いかもしれない。
h 左へ進む。それは、すでに過ぎ去った記憶をたどる行為だ。
l 右へ進む。それは、まだ見ぬ未来をそっと覗き込む行為だ。
k 上へ昇る。それは、過去の文章を振り返るような感覚だ。
j 下へ降りる。それは、未知の領域に足を踏み入れる瞬間だ。
試してみてほしい。君が手にしているキーボードは、実は地図そのものなのだから。
「地図を持つことと、道を知ることは、同じではない。」
さあ、次のレッスンに進むためにjキーを押し続けよう。
その途中で、君の中に新しい風景が広がるかもしれない。
レッスン 1.2: 起動と終了 - 扉を開けるということ
Vimを起動するというのは、扉を開けることに似ている。
けれど、その扉はただの扉ではない。
一度開けると、もう戻れないかもしれない。
なぜなら、その向こうには膨大な可能性が待ち受けているからだ。
僕が最初にVimを起動したのは、大学のコンピュータ室だった。
古いCRTモニターの緑がかった画面、わけのわからないエラーメッセージ、
そしてなぜかそこに漂うコーヒーの香り。
何をしていいかわからなかったけれど、不思議と怖くはなかった。
Vimを起動するにはこうタイプする:
vim ファイル名
それは、君が未知の物語を開き、新しい冒険を始める瞬間だ。
そして終了するときは、:q! か :wq を使う。
一つは全てを放棄する選択、もう一つは何かを持ち帰る選択。
どちらを選ぶかは、君自身が決めることだ。
レッスン 1.3: 削除 - 必要ないものを手放す
削除するという行為には、いつも少しだけ躊躇が伴う。
それは、何かを失うことを意味するからだ。
けれど、時には手放すことが、次に進むために必要になる。
僕が初めて手紙を破ったのは、高校生のときだった。
恋人に書いたけれど、渡せなかった手紙。
破り捨てた瞬間、何か大事なものを失ったような気がしたけれど、
同時に肩の荷が軽くなった気もした。
Vimで文字を削除するのは x だ。
そのキーを押すたびに、文字たちは静かに消えていく。
そして君は、少しだけ軽くなった空間を目の当たりにする。
レッスン 1.4: 挿入 - 空白を満たすということ
空白があるというのは、そこに何かが必要だというサインだ。
けれど、何を挿入するべきなのか、それは簡単にはわからない。
子供の頃、僕はよく砂場で穴を掘っていた。
掘った穴には何もない。ただの空白だ。
けれど、そこに水を入れたり、小石を並べたりすると、
その空間が急に意味を持つように感じたものだ。
Vimで挿入を行うには i を使う。
そのキーを押すことで、君はその空白に言葉を流し込む。
そして、それは空間に息を吹き込むのに少し似ている。
レッスン 1.5: 追加 - 行の果てに立つ
行の終わりに立ったとき、君は何を感じるだろうか?
それは終着点だろうか? それとも、新たな出発点だろうか?
僕が初めて山の頂上に立ったとき、
その景色の美しさに圧倒されながらも、どこか物足りなさを感じていた。
そしてその瞬間、僕は次の山に向かおうと決めた。
行の終わりに言葉を加えるとき、A を押してほしい。
その行為は、君が次の山に挑む決意をどこか強制的なものにする、
一種の強迫観念に似ているように感じた。
レッスン 1.6: 保存と終了 - 記憶を留める
Vimで保存を行うというのは、記憶を形にする行為だ。
それは、手紙を書いて瓶に詰め、海に流すようなもの。
届くかどうかはわからないけれど、その行為そのものに意味がある。
:wq をタイプして保存して終了しよう。
君が形にしたものが、未来のどこかで誰かの目に触れることを願いながら。
「記憶は風化する。でも、書き留めることで永遠になる。」
次のページに進む準備ができたとき、
その先にはまた新しい場所なのに以前にも行った事のある景色を感じる事になるだろう。
・・・第二章へ続く
とまぁこんな形でAI使えば既存の文章やチュートリアルを簡単に作り変える事が可能になります。
とは言ってもプロンプトは1発では自分の満足のいくものには到底なりません。
Chatと言う特性を使ってやり取りしながら推敲していくのは協働作業のようで楽しいです。
この場合楽しいのはAIがその作業のほとんどをしてくれるからですね。
割合は9:1位だと思います。
何かを作る時の作業効率は本当に爆上がりですね。
これを1から自分で考えていたら、この半分以下のクオリティで1週間はかかるだろうなぁ。
あと個人的な感想ですが村上春樹好きなのでこのVimtutorがあればモチベお理解度も上がると思いました。