GUIでもCUIでもない選択肢 TeUI(テキストエディタUI)

テキストエディタ上で完結させてしまう UI を TeUI と呼びます。


メリット

使い慣れたエディタ上で完結できること。


例: ChatGPT

通常はブラウザから利用しますが、ブラウザは不便です。仮にエディタ上で完結できたらどうでしょうか。

エディタ上でプロンプトを書いて、ショートカットキーを押したら、もう裏で問い合わせが走り、結果も自動で書き込まれるとしたら。ブラウザと行き来するよりも快適だと思います。

この感覚がわかる人は、TeUI を試す価値があります。わからない人は対象読者からは外れます。


事例

新しい概念であるため、まだ事例はありません。

しかし本記事にて提案しており、内容も難しくないため、読者の方で形にすることができるでしょう。何らかのツールやエディタ拡張機能の形で実装してくれると嬉しいですね。


TeUIが使える手段

  • ショートカットキー

  • メニューバー

  • ポップアップメニュー

  • 分割ウィンドウ

    • ただしターミナルを出す等は違います

      • それはただのIDEです

  • マクロ

    • エディタに搭載されたスクリプト言語のこと

      • 呼び名はエディタによって様々です

    • ただしマクロ単体では動作せず、何らかの手段で呼び出す必要があります

  • デーモン

    • 今開いているファイル内容を自動で読み込んで何らかの処理を反映させる機構

    • バックグラウンドで専用プログラムが動いている必要がある

      • VSCodeにはLanguage Serverなる仕組みがあり、動的な補完やハイライト等を一利用者でもつくりやすい

      • もちろん自分で常駐プログラムをつくるのも良い


どんなエディタで実現できるか

  • vim や emacs といったCUIベースのエディタ

  • mi、CotEditor、SAKURA EditorといったGUIベースのエディタ

  • 秀丸エディタ、EmEditorといった有償エディタ

  • VSCode など汎用IDE


最大の鍵は「動的な更新」

TeUI 最大のメリットは、普段慣れてるエディタ上で入出力を行えることです。


ChatGPTの例

たとえば chatgpt.md というファイルがあるとします。

ショートカットキー alt + s で「chatgpt.md の内容をプロンプトとして問い合わせを行い、返ってきた結果もそこに追記する」処理を走らせるとします。

※実際には OpenAI API を使った処理を走らせることになるでしょう。

これを使うと、エディタ上で ChatGPT が完結します。ブラウザと行き来せずに済みますし、書くのも結果のコピペも楽です。


文芸的コマンドライン

コマンドラインは通常、ターミナル上で実行しますが、これは意外と不便です。コマンドラインに対するコメントは書けないし、コマンドラインをつくるときもつくりづらいです。

TeUIを使うとどうなるでしょう。


たとえば workspace.md というファイルにします。

ここでは ```command1 という形でコマンドを書けます。またcommand1の結果は ```result1 に書き込まれるとします。

ショートカットキー ctrl + space で「カーソル位置にある commandX を実行する」とします。結果は resultX に書き込まれます。

こんなイメージ
カーソルを合わせて何らかの操作(ショートカットキー?)をすると実行できる。

このあり方なら、エディタ上で文章を書くようにコマンドラインを書いていけるし、テストもできます。

まるで文芸的プログラミングのようであり、これを文芸的コマンドラインと呼びます。


Jupyter Notebookと何が違うか?

  • 本質的な考え方は似ている

    • ドキュメント上に「実行能力のある記述」を書く発想

    • 文芸的

  • 目的が違う

    • Jupyter Notebookはデータ分析用途

      • 結果を確認&記録しつつ、段階的に実行していける

      • コマンドというよりはコード

    • 文芸的コマンドラインは汎用

      • エディタ上でコマンドを実行するというもの

      • コードではなくコマンド


いいなと思ったら応援しよう!