テキストエディタと高齢社会(文章を書く心がけ)
「文章を書く心がけ」のコーナーです。
* * *
結城はふだんVimというテキストエディタを使っています。
Vimには、ノーマルモードとインサートモードという二つのモードがあり、ノーマルモードでは、入力したキー(文字)はコマンドとして扱われます。
たとえば、カーソルの移動(上下左右)は k j h l というキーを打って行います。文字を入力するためには、コマンドモードからインサートモードに移る必要があります。
……と説明すると、めんどうそうに感じるかもしれませんが、Vimのユーザ(Vimmerという)にはめんどうな話ではありません。現在どのモードにいるかは身体が覚えているので、特に意識しなくてもさっとモードを移ることができるからです。
しかしながら、Vimというエディタは、基本的にインサートモードの継続時間が短いことを想定してデザインされていると思います。つまり、文字を連続的に入力し続ける使い方よりは、編集作業と入力作業が入り交じるような使い方がしやすくできているという意味です。
だから、結城がよく行う「自動書記」のように、自分の心に思い浮かんだ言葉をどんどん入力し続けるような使い方のとき、Vimは使いにくいと感じます。自動書記ではほとんど編集することがないので高度な編集機能が活躍することもありませんし。
だから、自動書記を行うとき、結城はVimを使わず別のエディタを使っています。2014年8月現在のお気に入りはOmmWriterとWriteRoomである。
◆OmmWriter
https://ommwriter.com/
◆WriteRoom
http://www.hogbaysoftware.com/products/writeroom
OmmWriterは起動するとフルスクリーンになり、背景は雪景色が広がる。マウスカーソルを動かすとメニューが表示されるけれど、放置すると画面には自分の入力されたテキスト(と雪景色)だけが残る。編集機能としては大したものはない。でも、文章入力に集中するには十分な機能が備わっている。
WriteRoomもほぼ同じような機能を持っている。ただこちらはOmmWriterよりもカスタマイズできる範囲が広いので、より自分好みに変更することができる。また、文字数や行数や連続使用時間などの統計情報も必要なら表示することができる。OmmWriterほどストイックではない。
どちらもお気に入りの没入型のエディタである。制約がいとおしいエディタ。実は現在この文章はWriteRoomを使って書いている。
以前はマルチファイル、マルチバッファなエディタを使って、あちこち飛び歩きながら編集するのが大好きだった。でも最近は思っていることを「まっすぐ書き下ろす」という感覚が好きである(まあ、書いている文章の内容にも寄るけれど)。
まっすぐ書き下ろすというのは、こういう意味だ。想定する読者さんがひとり、自分の前にいるつもりになる。その人に向かって、自分がていねいに話しかけるように書くことである。たった一人の「あなた」に向けて文章を書くというのは、結城にとってとても気持ちのいい感覚だ。
まっすぐ書き下ろしたあと、必要に応じてLaTeXのコマンドを埋めたり、用字用語をこまごま直したりという作業はもちろん発生する。そのときにはVimが大活躍することになる。でも第0次の近似としては、OmmWriterやWriteRoomで「まっすぐ書き下ろす」のはなかなかいい。心からあふれる言葉をファイルに注ぎ込む。
* * *
若いときには、まるでジャグリングのようにたくさんのファイルを扱うのが快感だった。一種の「全能感」というか「オレってばスゲー」という感覚に酔うほどに。
でも、歳を重ねてくると、記憶力や知的能力が落ちてきて、あまりたくさんのものを同時に扱うのが難しくなる。そうすると、自然にプログラミングやライティングのスタイルは変化する。ジャグリングするようなスタイルから、一歩一歩を固めていくスタイルに。
それは、プログラマにとって重要なテーマである「局所性」の活用ともいえる。局所的に品質を上げ、それを積み重ねることで大域的にも品質を上げようとする。
人間はそもそもあまり複雑なことを管理できないもの。だから、局所的に正しさや有効性を保証しておいて、それを組み合わせることで大域的な正しさや有効性を担保しようとする。これはいわゆるソフトウェア工学的な発想だ。
年齢を重ね、自分の知的能力が落ちてくると、まさにこの「局所的に品質を上げる」というスタイルを活用することが多くなる。自分がいま見ている一段落、自分が見ている一画面、自分が見ている一ファイルの中で品質を上げることが、最後に全体の品質を上げることにつながる。そういうワークフロー体制を作ろうと考えるという意味だ。
それは、プログラムなり、文章なり、ある一定の品質のまとまったプロダクトを作るとき、適切な役割分担を人間とコンピュータが行うということである。人間はできるだけ人間の得意なことをやる。そしてそれ以外のできるだけ多くのことをコンピュータにまかせる。
何を自分が行い、何をコンピュータにまかせるかを考えるのは、仕事を行う上で重要なこと。それは「自分の仕事を設計(デザイン)している」ともいえる。
若いうちは、こんなことを気にしなくてもうまく回る。「ちょいとがんばる」だけですごいことがたくさんできる若い人は多い。でもそれは若さが作り出したひとときの花である。仕事は長丁場。人生は長い旅路なのだ。
自分の能力が落ちてきたとき、どうやってそれを補い、コンピュータなり他の人間と共に新しい座組を作り出すか。それはチャレンジングなテーマである。自分の能力が落ちるのをまっさきに気付くのは自分。それをトリガーにして、何をすべきかを考える。
どんな人間も歳を取る。歳を取れば能力は落ちる。いくら若い頃に優れた活動をしていても、自分のやり方を変革できなければ、どこかで行き詰まるだろう。
幸いなことに、コンピュータは大きく人間の知的能力を助けてくれる。だから、その助けを借りよう。ネットやコミュニティも発達し、ニッチな要求にも関心を持つ人や、解決策を持つ人との繋がりもできる。だから、その助けも借りよう。
結城はそうやって、自分にできる知的活動をしっかりやって行きたいと思う。「自分の仕事をする」ことそのものも楽しいが、仕事を変革するために「自分の仕事の設計(デザイン)をする」ことも楽しい。
結城はそんなことを考えている。
* * *
2016年9月の追記:余計な機能がついていない没入型のエディタとして結城が最近使っているのは、Draft という自作の「エディタ」である。実質上、一つのテキストボックスなのだけれど。
◆Draft
* * *
結城浩の「コミュニケーションの心がけ」2014年8月19日 Vol.125 より
結城浩はメールマガジンを毎週発行しています。あなたも購読してみませんか。