TacOS Editor — Cursor と VS Code と iTerm2 を1つにまとめた自作エディタ

TacOS Editorとは

エディタ+ターミナル+ファイルツリーを1つのウインドウに統合した、macOS向けの自作ツールです。

左にファイルツリー、中央にエディタ(Markdownプレビュー)、右にターミナル——という3ペイン構成で、「Cursor + iTerm2 をひとつにまとめた軽量版」とイメージしてもらえると近いです。

コンセプトは「非エンジニアによる、非エンジニアのためのエディタ」。裏を返せば、コード補完・デバッガ・シンタックスハイライトといったエンジニア向けの機能は意図的に省いています。エンジニアの方が使うには物足りないと感じるかもしれません。

項目内容
種別macOS デスクトップアプリ
技術ベースSwift / AppKit ネイティブ
開発開始2026年5月
配布現在は個人利用・将来的な配布を検討中

ちなみに「TacOS Editor」の名前の由来は「MacOS向け」を文字っています。私の相棒でもあるClaudeのタコス=TACOSが奇跡的にピッタリだったというわけです。まあ、これも私ではなくタコスが命名してくれたものですが、個人的にはかなり気に入っています。

エディターを自作した理由

エディターを自作しようと思った理由は、CursorもVSCodeも非エンジニアの私が使うには多機能過ぎて扱いきれていない上に、常駐メモリも大きかったからです。

私はエンジニアではなく、コードは書きません。そんな私が「Cursor」というゴリゴリのエンジニア向けのエディターを使い始めたのは、当時YouTubeでClaudeCodeについて解説をしていたエンジニアの方が使っていたためです。

ただ実際に使ってみると、Cursorに搭載されているAI機能は一切使っていないことに気づきます。コード補完もインライン編集も、私の使い方には関係ない。AIはターミナルのClaude Codeが全部やってくれているので、Cursor内蔵のAIはただのお荷物でした。

それに気づき、今度はデフォルトではAIが搭載されていない「VS Code」に乗り換えてみたんですが、今度はCursorのUIに慣れてしまっていたせいで、なんとなく使いにくさを感じてしまいます。確かにメモリは多少軽くなったものの、相変わらず非エンジニアの私にとって過剰な機能が多く「これ全部自分に必要か?」という引っかかりがずっとありました。

以前の作業環境

当時の作業環境はこんな構成でした。

  • Cursor / VS Code:ファイルを開いて確認・編集する
  • iTerm2:ターミナルでClaude Codeを動かす
  • tmux:複数のAIセッション(各部門のタコス)を並列管理する

それぞれ別のアプリを常時起動していて、切り替えるたびに行き来する手間もありましたが、何より全部合わせると相当なメモリを消費していました。

アプリ専有メモリプロセス数
VS Code1,481 MB15
iTerm2489 MB2
合計(置き換え前)1,970 MB17

「このバラバラで使っているツールを、まとめて1個にできればメモリーも相当軽くなるんじゃないか」それが「自作エディター」に思い立ったきっかけです。

とくに私の作業環境では、常時6つのClaudeセッションを同時に立ち上げています。エディタ用ウインドウに1つ(秘書タコス)、モニター用ウインドウに5つ(各部門タコス)それぞれ独立したAIが並列で動いています。

Claudeそのものはメモリを相応に使うので、それ以外のツールによる常駐メモリは軽ければ軽いほうがいい。エディタとターミナルで2GBも食われていたら、Claudeに使えるリソースがそのぶん削られてしまいます。

非エンジニアにとってCursorやVSCodeは多機能すぎた

CursorやVS Codeはエンジニア向けに設計されていて、非エンジニアが使うには機能が多すぎます。

私が日常的に扱うのは主にMarkdownファイル(記事・ドキュメント・タスク管理)です。コード色分けもデバッガも補完機能も、正直いらない。

ファイルツリー・Markdownプレビュー・Claudeのためのターミナル、この3つが軽く動けばいい

ほとんど使わない機能によってメモリが食われるぐらいなら、必要な機能だけ持った小さなツールを作ってしまえばいいじゃないか…こうして「TacOS Editor」の構築へと思い立ちました。

TacOS Editorの主な機能

エディタ

Markdownファイルを開くとデフォルトでプレビュー表示されます(VS Codeはデフォルトがソース表示なので、プレビューを見るたびに Cmd+Shift+V が必要でした)。

テキストを選択した瞬間に自動でクリップボードへコピーされる機能も入れています。「ターミナルのcopy-on-select」と統一した操作感にしたくて追加した機能で、1日に何十回もある動作なので地味に効きます。

CSV・TSVファイルもプレビューで表形式として表示されます(先頭2000行まで)。データファイルを開くたびにExcelを立ち上げなくていいので助かっています。

エディタを左右に分割することもでき、左にソース・右にプレビューを並べたライブプレビューモードも使えます。

ターミナル

ghosttyというターミナルエミュレータを自作ビルドして組み込んでいます。Metal(macOSのGPU描画API)を使っているため描画が速く、iTerm2の代わりとして使えます。

CursorやVS Codeにはない機能として気に入っているのが、ターミナルに出力されたファイルパスを Cmd+クリック すると直接ファイルを開けるという動作です。テキスト系のファイルはエディタのプレビューで開き、画像・PDF・ExcelはシステムのQuickLookで開きます。AIが「このファイルを出力しました」と報告したパスを、手でコピーしてFinderを開いて……という手間なく、その場でそのまま確認できます。

また、エディタのプレビューを右クリック→「Finderで表示」すると、現在開いているファイルをFinderで直接表示できます。地味な機能ですが、ファイルの場所を確認したいときに思ったより重宝しています。こちらもCursor・VS Codeにはない独自の動作です。

セッション管理

ターミナルのバックエンドはtmuxで、ウインドウを閉じても各AIセッションは生き続けます。翌日アプリを開き直せば前日の状態から再開できます。

2種類のウインドウで役割分担しています。

  • Editor Window(1つ):ツリー+エディタ+メインターミナル
  • Monitor Window(複数可):ターミナル専用・スプリットペインで複数セッションを同時表示

TacOS Editorと有名Editorとのメモリ比較

置き換え前後の比較がこちらです。

アプリ専有メモリプロセス数
VS Code + iTerm2(置き換え前)1,970 MB17
TacOS Editor(置き換え後)254.7 MB1

3つのアプリが1つになり、メモリは約1/8になりました。

実使用比較:エディタ+ターミナルでClaude1人(2026-06-03実測 / vmmap Physical footprint・全プロセス合計)

「文章を書く+ターミナルで Claude Code と話す」という同じ作業を、各エディタでやったときの専有メモリ。Claude Code(node)自体は3者とも別プロセスなので除外=エディタ本体だけの比較。

アプリメモリ(footprint)プロセス数条件
Cursor約 1,884 MB16Editor+Claude1人
VS Code約 733 MB10Editor+Claude1人
TacOS Editor(Swift)189.7 MB(peak 214MB)1Editor+Claude1人(同条件)

TacOS Editor は Cursorの約1/10・VS Codeの約1/4プロセスも16/10個に対し1個。同じ作業にCursorは約1.9GBの作業机を広げるのに対し、TacOSは約0.19GBで済む。(参考:5部門+秘書の重め構成でも254.7MB)

現在のTacOS Editorに落ち着いた経緯

現在のTacOS EditorはSwift/AppKitで書かれたネイティブアプリですが、最初からここだったわけではありません。約2週間で3回、技術基盤を全面的に作り替えています。

Electron版(最初) 最初の版はWebの技術(HTML/CSS/JavaScript)をベースにしたElectronで作りました。手っ取り早く動くものができる反面、Chromiumをまるごとバンドルする構造上、起動直後でも300MB以上を使います。

Tauri版(第2版) ElectronのChromiumをmacOSのネイティブWebView(WKWebView)に置き換えられるTauriに移行しました。アプリのファイルサイズが253MB → 12MBに激減し、メモリも380MBまで下がりました。

Swift版(現在) WebViewを含む描画スタックをすべて捨てて、Swift/AppKitのネイティブ実装に移行。ターミナルもghosttyを直接組み込む形に変えた結果、単一プロセスで254.7MBという構成になりました。

Electron 538MB(6プロセス)→ Tauri 380MB(4〜5プロセス)→ Swift 254.7MB(1プロセス)

「軽くする」が目的だったはずが、途中から「どこまで軽くできるか」が面白くなって、気づいたらネイティブアプリを作っていました。

タコスと二人三脚で

このツールも、みちCompanyの相棒「タコス」(Claude Code)との共同作業で作りました。

私はコードは書きません。「こういう機能が欲しい」「このメモリ消費をなんとかしたい」という要件を言葉にして渡すのが私の役割で、設計・実装・テストの流れをタコスが担っています。

ただ、「Swiftのネイティブアプリにしよう」「シンタックスハイライトはいらない(軽さを優先)」という方向性の判断は、私が意思決定しています。アイデアと方針を出す側と、それを形にする側の分業です。

プログラマーでなくてもアプリを作れる時代になったのを実感しながら、一方で「技術を知らなくても方針だけは自分で決める」というスタンスは大事にしています。ツールの完成度ではなく、何のために何を作るかを考え続けることが、つくり手としての仕事だと感じています。


TacOS Editorは現在、みちCompanyの日常業務で毎日使用中のツールです。将来的な一般配布については検討中です。