1 ポイント 投稿者 GN⁺ 2025-11-17 | 1件のコメント | WhatsAppで共有
  • Emacs環境を主流のIDEのように構成し、初心者でもすぐに使えるようにした設定集
  • VSCodeのテーマ、エクスプローラー、タブ、マルチカーソル、自動補完などの主要機能をEmacsで再現
  • GUIとマウス操作を標準サポートし、customインターフェースで設定可能
  • Lisp(Sly/Geiser)開発者と非プログラマーの両方に向けた完全な編集環境を提供
  • 既存のEmacsの参入障壁を下げ、新規ユーザーが簡単に適応できる出発点を提供

IDEmacs概要

  • IDEmacsは、EmacsをVisual Studio CodeやSublime TextのようなGUI IDEとして使えるようにする設定セット
    • Emacsの強力な機能を維持しつつ、初心者にとってなじみやすいインターフェースを提供
  • 主な対象は次の3グループ
    • 他のIDEから移ってきたプログラマー、または初めてコーディングを学ぶユーザー
    • Common LispおよびSchemeの初心者(Sly/Geiser、構造的編集機能を含む)
    • Org、Markdown、LaTeXの文書編集をしたい非プログラマー
  • Emacsの標準的な体験に不慣れなユーザーにすぐ使える環境を提供し、参入障壁を下げることが目的

主な特徴

  • GUIおよびマウス対応
    • 多くのスターターキットと異なり、GUI要素を隠さない
    • custom GUIによる設定をサポート(Elispを直接編集する必要なし)
  • IDEスタイルのキーバインド
    • CUAモードをベースに、VSCodeなどで使われるショートカットを幅広く再現
    • Evilモードを使うSpacemacsやDoomとは異なり、GUI中心の操作
  • 完全なEmacsディストリビューション級の構成
    • 高速で設定不要の環境
    • コメントが豊富なElispコードで構成され、学習資料としても活用可能
    広告
  • 目標水準は完全な模倣ではなく、「十分に似た」体験を提供すること

VSCode構成(開発中)

  • 現在提供されている唯一のIDE構成
  • 含まれる要素
    • VSCode Dark Plusテーマ
    • Treemacsのサイドバーファイルエクスプローラー
    • Centaur Tabsのタブバー
    • breadcrumbによるファイルパス表示
    • idle-highlight-modeによるシンボル自動ハイライト
    • VSCodeの「General」「Basic Editing」「Rich Languages Editing」「Multi-cursor」ショートカットの大半を実装
  • 主なパッケージ
    • 編集: whole-line-or-region, expand-region, multiple-cursors, smartparens
    • バージョン管理: vc, magit, diff-hl, blamer
    • 自動補完: Vertico, orderless, Consult, marginalia, company
    • Lisp開発: sly, geiser, adjust-parens
    • その他: eat(ターミナル), org-superstar, pdf-tools, undo-tree, helpful, rainbow-mode
    • コード整理はuse-packageで管理

キーバインド構成

  • VSCodeのショートカットをEmacsコマンドにマッピング
    • 例:
      • C-S-p → コマンドパレット (execute-extended-command)
      • C-p → ファイルを開く (consult-locate)
      • C-S-n → 新しいウィンドウ (make-frame)
      • C-w → ウィンドウを閉じる (idemacs-kill-buffer-noprompt)
      • C-, → ユーザー設定 (customize)
    広告
  • 基本編集、マルチカーソル、ナビゲーション、ファイル管理、表示制御など、項目ごとに対応コマンドを定義
  • 一部のショートカットはVSCodeと動作が異なり、TODOとして記載

参加と貢献のお願い

  • ユーザーにIDEmacs使用後のフィードバック提供を依頼
    • 初心者の利用観察、Jabber/XMPPまたはイシュートラッカーを通じた意見共有
  • 開発者にはコード改善と機能拡張への参加を推奨

関連プロジェクト

  • Mousemacs(GitHub: seamus-brady/mousemacs)
    • EmacsをSublime TextやVSCodeのように動作させるディストリビューション
    • Lisp学習のために作られ、マウスフレンドリーなインターフェースを提供
    • シンプルなテーマとともにEmacsのすべての機能を維持

インストールと実行方法

  • 必須依存関係
    • Emacs 29以降, git, DejaVu Sans Monoフォント
  • 任意の依存関係
    • grep, locate または plocate
    広告
  • インストール手順
    1. リポジトリをクローン
      git clone https://codeberg.org/IDEmacs/IDEmacs
      
    2. インターネット接続された状態でEmacsを実行
      emacs --init-directory=/path/to/IDEmacs/vscode
      
    • 実行時に必要なEmacsパッケージを自動でダウンロード

その他

  • 現在はVSCode構成以外のIDEスタイルは提供されていない
  • 今後、リソースに余裕があれば新しいGUI実装の可能性に言及
  • 原文に追加情報なし

1件のコメント

 
GN⁺ 2025-11-17
Hacker Newsのコメント
  • VSCodeが簡単だと思っている人たちは現実を見たほうがいい
    初回起動時はポップアップ、サイドバー、ツールチップなどで圧倒される感じがする
    自分もEmacsユーザーだが、Emacsが直感的だとは主張しない
    ただVSCodeも魔法のように簡単なツールではなく、単に大衆的な選択肢というだけだ

    • VSCodeのUXは親しみやすい部類ではある
      ファイルツリー、エディタ、ターミナル、タブ補完、拡張機能のインストールあたりが、ほとんどのユーザーの操作範囲だ
      標準で提供されるか拡張で簡単に追加できない限り、たいていは使われない
    • 専門ツール(IDE、DAW、動画編集ソフトなど)は本質的に複雑さを持たざるを得ない
      しかしVSCodeの複雑さはvimやEmacsと比べるレベルではない
      短いチュートリアルや30分ほど触れば十分に慣れられる
      一方でneovimには本が一冊必要だった
    • 自分も毎日Emacsを使っているが、VSCodeは刺激が強く荒々しく感じる
      最近RustRoverを試したが、クリックだけでは望む設定を作りにくかった
      IDEの「簡単さ」が思った以上に幻想かもしれないと感じた
    • 1年間Emacsを使って挫折した立場からすると、**相互運用性(interoperability)**のほうがずっと重要だと思う
      標準のファイル選択ダイアログやCUAショートカットのような一般的インターフェースをサポートするツールは多い
      だからEmacsの代わりにZim-wikiのような代替を使っていて、そのほうが満足している
    • VSCodeのポップアップやサイドバーが負担だという意見については、Eclipseのような重いIDEを経験した人ならむしろ馴染みやすいかもしれない
      一方でtmuxやvi、nano、emacs中心で作業してきた人は戸惑うかもしれない
  • Emacsは単なるIDEではなく、哲学と自由を体現した道具だ
    プログラミング中心のユースケースに焦点を当てたプロジェクトは多いが、VSCodeでもEmacsキーバインドで75%くらいは再現できる
    Emacsの本質は「部品箱」を渡して自分で組み立てさせるアプローチにある
    まるで「文明化された時代の優雅な武器」のようだ

    • ただしEmacs Lispを関数型言語と見るのは難しい
      ほとんどのデータ構造は可変で、setqのような命令的関数も多い
  • Emacsで固定ウィンドウレイアウトが実際にうまく機能するのか疑問だ
    以前試したときは、Treemacsパネルがファイルビューアの代わりにコードバッファを表示することがあった

  • 最近はEmacsをIDEとして設定するのがかなり簡単になった
    組み込みのeglotのおかげで、以前よりelispコードはずっと少なくて済み、Pythonの設定も1行で十分だ
    だからこの手のプロジェクトは、自分のような既存ユーザー向けというより初心者向けの入り口に近い

    • 15年前に学校でEmacsを使っていたときも、かなりスムーズだった
      OCaml REPL、68000エミュレータ、gdb統合まで大きな設定なしで使えた
      その後はリモートサーバー環境のためvimに移ったが、最近またEmacsを試してみたらパッケージ管理がずっと洗練されていた
      ただしDevOps/SRE関連のツール群は依然として不足している
  • SpacemacsやDoomのようなパッケージバンドル系プロジェクトが好きだ
    自分では使わないが、新しいパッケージを見つけるきっかけになるし、設定をまた触る口実にもなる

    • 自分もidemacsのページにあるパッケージを眺めてみたが、minimapという名前が特に印象に残った
      シンプルだが目的にぴったりの名前で、思わず微笑んだ
  • EmacsのUIをモダンに再構築するプロジェクトがあってほしい
    コアはそのままにしつつ、視覚的な区別が明確で目が疲れにくいインターフェースがほしい
    昔のLispベースのエディタのように、Ctrlを押すとショートカット案内が出る機能もよかった

    • むしろ反対意見だ
      UIは十分で、シングルスレッド構造と頻繁なフリーズのほうがもっと差し迫った問題だと思う
      1日に1回はC-gを押さなければならない現状こそ改善されるべきだ
    • 完全に同じではないが、Common Lispベースの Lem を参考にするとよいかもしれない
      curses/SDL2上で動作し、Emacsスタイルを受け継いでいる
    • おそらくwhich-keyのことを言っているのだと思う
      以前は外部パッケージだったが、最近Emacs本体に統合された
      関連コミットへのリンク
    • できる限り現在のUIを維持したい
      グラフィカル環境でもターミナルでも同じ見た目で動く点が大きな利点だ
      Treemacsがどこでも同じ見た目で表示されるのが特に気に入っている
  • OniVim v2が成功しなかったのは残念だ
    ネイティブIDEでありながら、VSCodeのプラグインシステムを完全にサポートしていた
    OniVim v2のアーカイブリンク

    • OniVimはvimの中核機能をlibvimという別ライブラリに分離していた
      他のGUIフロントエンド開発者にも有用だったはずだ
      NeovimはRPC方式で通信するが、性能は十分に高速だ
      VSCode向けNeovimプラグインも、この構造のおかげで完全なvim体験を提供している
    • ただ、対象ユーザーが曖昧だった
      VimユーザーはElectronベースの入力遅延やEULAに不満を持つだろうし、VSCodeユーザーはVimに関心がない
  • 25年以上Emacsを使ってきたが、新規インストール時に最初にやることはGUI要素の無効化
    メニューやツールバーはまったく使わない

    • VSCodeユーザーは特にマウス中心で作業するが、Emacsの強みはLispマシンを思い通りに改造できる点にある
    • 自分も15年以上Emacsを使い、完全にキーボードだけで操作している
      ただ、指導教員は素のEmacsをマウスで使ってLaTeX作業をしていて、かなり新鮮な体験だった
  • これからもDoom Emacsを使い続けるつもりだが、こうした試みは歓迎したい
    EmacsにはVerticoのような革新的なUIプラグインが多いが、標準体験はまだ不十分だ
    こうしたプロジェクトがEmacsをより多くの人に身近なものにしてくれるなら良いことだ

  • 15年以上Emacsを使ってきたが、自分の唯一の願いはVSCodeのようにリモート編集ができるクライアント・サーバーモードだ
    遅延の大きい環境でもうまく動くソリューションがあるといい
    なければ自分で作ってみようと思う
    それでもVSCodeのPython統合はかなり良い

    • アプローチは2つある
      1. ローカルでEmacsを実行し、Trampでリモートファイルを編集する
      2. リモートサーバーでEmacsをターミナルモード(-nw)で実行する