🖤

Shougo への質問への回答

2024/08/16に公開

始めに

大変光栄なことに私は先日、vim-jp radio のゲストとして呼ばれました。私の参加した会は 8 月 19 日、26 日に放送される予定です。

https://vim-jp-radio.com/

それに伴ない私への質問を募集したのですが、時間の関係上あまりにマニアックな質問は飛ばされてしまい回答ができませんでした。
そのまま質問がお蔵入りになってしまうのは質問者が可哀想なので、この場で私へのよくある質問に対して回答をしようと思います。

git 以前のバージョン管理は何を使っていましたか?

実は私は 2009 年始めの git 黎明期から git を使用していて、git 以前の経験は少ないということをことわっておきます。
git 以前はバージョン管理システムは使っていませんでした。zip ファイルにプラグインを固めてバージョン管理する手動バージョン管理です。
現代では考えられないほど原始的と言われればそうですが、当時はその程度でもなんとかなっていたのです。
なにしろ、当時のプラグインというのは plugin ファイル 1 つというのが普通でしたから。

「テキストエディタになる」とはどういう意味ですか?

私はテキストエディタは人を越えた完全な存在だと思っています。人間がやれることには限界があります。
自分自身が究極のテキストエディタになるため、自分の人間的要素をできるだけ少なくし、テキストエディタとのシンクロニシティを高めることで心も体もテキストエディタになるということです。
そもそも、プログラミングとはコンピューターと人間との通訳者であり、プログラミングを極めることはコンピューターとのシンクロニシティを高めることにほかなりません。
あなたも「人よりコンピューターとやりとりをするほうが楽」となっていませんか。「人間がコンピューターに近付く」のと「人間がテキストエディタに近付く」のは私には大差ないように思えます。

「テキストエディタになる」ロードマップはありますか

正直にいうと、ロードマップと呼べるものはありません。私はただ地道にテキストエディタのことを考え、テキストエディタの作業をし、「テキストエディタになりたい」と思うだけです。
ただそれでもテキストエディタには少しずつ近付いているのではないでしょうか。私がテキストエディタ作業をやりはじめたときとは明らかにテキストエディタとのシンクロニシティは違っていますから。
「テキストエディタを目指す」よりも「気付いたらテキストエディタになっている」のが理想な姿だと思います。

Shougo さんはネット上で暗黒美無王と呼ばれていますが、暗黒美無王とは何なんですか?

「暗黒美無王」とは実は私の理想とする想像上の存在なのです。テキストエディタを極めた結果、人間を超越しテキストエディタと一つになった究極の人間が「暗黒美無王」です。
私が「暗黒美無王」と呼ばれるのは光栄なのですが、私は人の心が残っていてまだまだテキストエディタになりきれていません。
私がテキストエディタを目指すのは「身も心も暗黒美無王になりたい」という思いもあるのです。

"Dark powered" とはどういう意味ですか?

これに回答するためには、Light powered とは何なのかについて説明しないといけません。
Vim はかつて Vim で全てを実行する、例えばテキストエディタに端末機能を実装するのは邪道だとして実装を拒否していました。
私はこれを正しい行い = Right way = Light way = Light powered と定義しました。
Vim の思想に反した「テキストエディタで全てを行う邪悪な行い」が Dark way = Dark powered なのです。

Shougo さんにとってテキストエディタとは何ですか?

簡潔に説明すると人生の目的であり、人間を越えた完全な存在であり、世界を構成する要素の全てです。テキストエディタについて深く語るにはこの場所は狭すぎますね。

Shougo さんは「フハハハハ!」や「設定ありがとうございます!」を実は言っていないというのは本当ですか?

本当です。ネット上でよくある、他の人が勝手にイメージを広めただけで「実は言ってない」。二次創作設定みたいなものです。
私が実際に言ったのは「テキストエディタと一つになろう」や「世の中のあらゆることはテキストエディタで説明できる」「設定こそが至高」「デフォルト設定は悪」とかそのあたりです。

ファーストリリースで一番テンションが上がったプラグインは何ですか?

dpp.vim です。自分の理想とする構成が実現できたからです。正直、実現できるかは怪しかったです。
dpp.vim の設計目標は「パフォーマンスを落とさない」、「ユーザーが TypeScript で設定できる」、「あらゆる機能を分離」、「dein.vim でできたことはほぼできる」ことです。
他にこのような構成をとっているプラグインが存在しないように、これは簡単にできることではないです。

バトルエディターズの続編はまだですか?

https://github.com/Shougo/BattleEditors

バトルエディターズは古い作品なのですが、なぜか地味に人気があるようです。人は本能としてテキストエディタを求めているのかもしれません。
バトルエディターズを知らない人向けに簡単に説明すると、主人公が暗黒美無王と一つになってカードゲーム風のテキストエディタバトルをする……という作品です。
最近テキストエディタ作業が忙しくてまったく書く時間がとれませんが、要望が多ければちゃんとリメイクしたいとは考えています。
当時とはテキストエディタ界隈の状況が異なっていますし、私自身のカードゲーム経験がかなり増加したので。

日に何時間テキストエディタにつぎ込んでいますか?

あまり意識していませんが、平日でも 2, 3 時間程度はテキストエディタに使っています。やる気のあるときや休日はもっとテキストエディタ作業をやることがあります。

Emacsはやらないんですか?

私と Emacs は出会いが悪かったのです。私が Windows 使いでなかったら Emacs に夢中だった可能性はあります。
私が当時メインで開発をしていた Windows での Emacs 体験があまりに悪すぎました。ちなみに Vim は開発者の手によって Windows 環境でもほとんど快適に動作していました。
現在私は Emacs に費やす時間がほとんどとれていませんが、その動向は watch しています。

私のテキストエディタの理想を考えると、Emacs の思想のほうが近いのだと思います。それでも私は Vim を使ってしまう。これはなぜなのか。
私はテキストエディタの理想よりテキストエディタでできることの現実を重視しているのが理由としてありそうです。

テキストエディタ以外のソフトウェア(OSやらブラウザやらshell)に対しての感覚はどういったものですか。どれくらいやりこみたいですか?

テキストエディタ以外の全てのソフトウェアはテキストエディタを動かすためにあります。
私はソフトウェアは「テキストエディタにとってどのくらい有用であるのか」という視点でしか見ていません。
私がテキストエディタ以外のソフトウェアに時間を使うとテキストエディタに費やす時間が減ってしまいます。
私はできるだけテキストエディタ以外に時間を使わないように考えています。テキストエディタ以外をやりこむだなんてとんでもありません。

私は現在 Manjaro Linux, i3 window manager や Alacritty といったツールを使っていますが、これは私がこれらのツールが大好きだというわけではなく、これらを使うとテキストエディタのパフォーマンスを最大限に引き出すのが楽だったからです。
テキストエディタの実行に最適化された環境があればすぐにでも乗り換えたいと思っています。

好きなプログラミング言語はありますか?

ありません。世の中には「テキストエディタで使えるプログラミング言語」と「テキストエディタで使えないプログラミング言語」の二種類のみがあります。
私は「テキストエディタで使えるプログラミング言語」のなかからテキストエディタの機能を実現するために便利な道具を選択しているただそれだけなのです。
私がいう「全てはテキストエディタ」「テキストエディタ中心に周っている」の意味が分かりましたでしょうか。

世にソフトウェアはたくさんありますが、他の物ではなくテキストエディタを選んだ理由は何でしょうか?

私は元々ツールを弄るのや設定が好きでした。テキストエディタはその中でも自由度が高く魅力的でした。更にテキストエディタは自分で機能を拡張することができて、結果が簡単に目で見えるので飽きることがありませんでした。

Neovimのようなテキストエディタと直接関係が薄い機能がごった煮のテキストエディタについてはどういう感情で見ていますか?

テキストエディタでやれることが増えるのは素直に歓迎しています。Web ブラウザが世界を圧巻したように、テキストエディタが世界を支配するときも来るかもしれませんね。

仮にテキストエディタと出会ってなかったらどんな人生を送っていたと思いますか?

私がテキストエディタに出会ったのはプログラミングにやる気を失い、人生の目的を探していたときです。テキストエディタに出会わなければ私の運命はかなり異なっていたのは間違いありません。
仕事でプログラミングをやることもなかったかもしれません。
この道を選んだことで失ったものは多いですが、別の道を選んだところで成功していたかは分かりません。そこが人生の面白さといえるでしょう。

Vimがメインのテキストエディタだと思いますが、他のテキストエディタに移行する可能性はありますか? もし移行する場合、移行の決め手になるポイントはありますか?

今のところ他のテキストエディタに移行する予定はありませんが、移行する場合は今自分がプラグインで実装している機能を実現できるかどうかと本体を弄れるかどうかは必須となるでしょうね。
どうせ移行するなら全てのキーバインドを自分で設定するテキストエディタがよいですね。

テキストエディタと融合したら眠らなくても大丈夫になったりしますか

そう思いますが、私はまだその領域に到達していないため、人が人である機能を維持するために睡眠が必要です。
テキストエディタになる、とはテキストエディタとして必要ない機能を捨てるということでもあるのです。

テキストエディタの作業を継続するコツはありますか

コツといってもよく分かりません。特別なものはありません。私はただテキストエディタ作業を毎日やっていただけです。しかし、なぜか継続するというのはとても難しいらしく多くの人が脱落していきました。
私は基本テキストエディタ作業について他人に頼らず、自分でなんとかするスタイルであるというのも関係しているかもしれません。自分はコントロール可能ですが、他人をコントロールするのは困難です。最後に信頼できるのは自分なので。

暗黒美無王を名乗る前は何者でしたか

テキストエディタに目覚める前、普通に Shougo として活動していました。
自分の本質は今とあまり変わっていないように思います。

Discussion