shijimi-editor

ターミナルの中の IDE

shijimi-editor は、ファイルツリー、タブ、LSP、差分の画面、ターミナルパネルを 1 つの画面に並べます。並び方は VS Code と同じです。編集には Helix 風のモード付きのキーか、VS Code 風のキーを選べます。コマンドは shj です。

変更をファイル全体で見る

Space G(または Ctrl+G)で、エディタ全体が HEAD との差分モードに切り替わります。Space g ではプルリクエストのベースと比べます。

  • 変更のあるファイルは CHANGES に並びます
  • 変更のあるファイルは、ファイル全体を左右(または 1 列)の差分で開きます
  • 右側は編集できます。見ながらその場で直せます
差分モード。左に変更前、右に変更後のファイルが並ぶ

LSP がすぐ使える

診断、補完、ホバー、定義へ移動、参照、リネーム、コードアクション、フォーマットに対応します。gopls、rust-analyzer、typescript-language-server などは最初から設定済みです。

  • 設定は Helix と互換の languages.toml に書きます
Go の構造体のメソッドを並べた補完の一覧と、行の末尾に出た診断

Markdown をソースの横でプレビュー

Space m で、編集中のバッファの横に Markdown を整形して表示します。もう一度押すと、プレビューだけを表示します。

  • 見出し、リスト、表、コード、引用
  • mermaid のコードブロックは図にして表示します
左に Markdown、右にそのプレビュー。mermaid のフローチャートが図になっている

画像をタブで開く

ファイルツリーや Quick Open で画像ファイルを開くと、中身のバイト列ではなく画像として表示します。

  • PNG、JPEG、GIF、BMP、WebP、TIFF
  • 画像と mermaid の図には、Kitty、Ghostty、WezTerm のような Kitty graphics protocol に対応したターミナルが要ります
PNG ファイルをタブで開き、画像として表示している

画面の下にターミナルパネル

Ctrl+` でエディタの下にターミナルを開きます。エディタを離れずにテストやサーバーを動かせます。

  • そこで動かした Claude Code は、選択範囲を読み、変更を差分で見せて承認を求めます
エディタの下のターミナルパネルに go run の出力が出ている

ほかにも

2 つの編集方式

マルチカーソル付きの Helix 風のノーマル・挿入・選択モードか、モードの無い VS Code 風のキー。

すぐに探せる

Quick Open、コマンドパレット、プロジェクト全体の検索と置換。

提案パネル

git、LSP、ターミナルの状態から次の作業を提案します。選ぶと ACP でエージェントに頼みます。

Git の状態が見えるファイルツリー

変更・未追跡・追加のファイルに印が付きます。

単一ファイルモード

shj ファイル はそのファイルだけを開き、:wq で終わります。$EDITOR に使えます。

英語と日本語

画面の文言と説明書は、両方の言語で読めます。

インストール

nix run github:mm1995tk/shijimi-editor/release   # すぐに動かす
nix profile install github:mm1995tk/shijimi-editor/release
go install github.com/mm1995tk/shijimi-editor/cmd/shj@latest
npm install -g shijimi-editor   # Linux と macOS

入れたら、プロジェクトで shj を実行します。詳しくは説明書のインストールと起動を見てください。画面の文言を日本語にするには、config.toml に ui-language = "ja" と書きます。