展示HN:Elecxzy – 一个轻量级、无Lisp的Electron类Emacs编辑器
Show HN: Elecxzy – A lightweight, Lisp-free Emacs-like editor in Electron

原始链接: https://github.com/kurouna/elecxzy

## elecxzy:一款轻量级的 Emacs 风格编辑器 elecxzy 是一款现代化的、处于 Alpha 阶段的文本编辑器,使用 Web 技术(Electron、React、TypeScript)构建,旨在重现 Emacs 的体验,而无需 Lisp 的复杂性。它优先考虑速度、简洁性以及 Emacs 用户熟悉的 workflow。 主要特性包括 Emacs 风格的键绑定、递归窗口分割、支持多种语言(TypeScript、Python 等)的语法高亮的 major mode,以及 Markdown 和 HTML 的实时预览。它拥有高性能的缓冲区引擎和可通过 JSON 或命令自定义的外观。值得注意的是,它提供了优化的日语输入法支持。 目前处于预发布阶段,elecxzy 专注于轻量级和开箱即用,并带有合理的默认设置,避免了诸如单词换行等功能以保持性能。Windows 平台的二进制文件可通过 GitHub 获取,源代码目前为私有。它受到 GNU Emacs 和 xyzzy 的启发,旨在现代环境中延续它们的精神。

## Elecxzy:一款为Windows设计的轻量级、类Emacs编辑器 一位日本程序员创建了Elecxzy,这是一款使用Electron构建的Windows文本编辑器,旨在提供类Emacs体验,*无需* Lisp的复杂性。该创建者对传统Emacs所需的设置和VS Code的臃肿感到沮丧,因此寻求一款零配置的编辑器,专注于核心Emacs键绑定和无鼠标操作。 Elecxzy优先考虑速度和原生的Windows可用性,特别是CJK(中文、日文、韩文)输入。它通过避免Lisp执行、为大文件实现虚拟渲染以及直接访问Win32 API进行IME控制来实现这一点。虽然为了性能省略了诸如自动换行和完整AST解析之类的功能,但该编辑器提供了语法高亮和自定义键解析器。 开发者正在寻求反馈,了解对这种编辑器(Notepad、VS Code和Emacs之间的“最大公约数”)的需求,以及哪些最少的功能才能使其真正有用。最初的反应质疑了使用Electron的“轻量级”说法,但承认了解决特定可用性差距的价值。
相关文章

原文

Zenn X

A lightweight, Lisp-free text editor with Emacs keybindings. Lisp非搭載・設定最小限。迷わず書ける、Emacs操作の軽量エディタ。

elecxzy Screenshot

Warning

🚧 Project Status: Pre-release (Alpha) / 開発中(アルファ版)

This software is currently in an early alpha stage. Features are under active development, and some functions may be incomplete or unstable. Use with caution.

本ソフトウェアは現在、開発初期のプレリリース(アルファ)版です。すべての機能が完全に動作する状態ではなく、挙動が不安定な場合があります。あらかじめご了承ください。

English | 日本語


elecxzy is a modern text editor built from the ground up to reconstruct the powerful and beloved Emacs user experience using contemporary web technologies. It is designed for those who value the Emacs workflow but seek a streamlined, lightweight, and efficient environment, allowing you to start coding or writing immediately with the familiar keybindings you've mastered, without the burden of complex configuration.

  • Modern UI & Interface: A contemporary visual design utilizing web technologies, featuring floating minibuffer popups, distraction-free scrollbars, and high-quality typography while preserving core Emacs semantics.
  • Lisp-free & Lightweight: No heavy script engine overhead. Just the essential text editing features you need.
  • Ready-to-Use Defaults: Comes with sensible default settings so you can start coding or writing immediately after installation without tedious configuration.
  • Emacs-inspired Workflow: Familiar keybindings (C-f, C-b, C-n, C-p, C-a, C-e, etc.) and command structures for power users.
  • Flexible Window Management: Support for recursive window splitting (vertical/horizontal) with C-x 2, C-x 3. Adjust sizes with intuitive, Emacs-style commands (C-x ^, C-x }).
  • Major Modes & Syntax Highlighting: Specialized modes for TypeScript, JavaScript, C/C++, Python, Go, Rust, SQL, YAML, and more.
  • Real-time Previews: Instant preview modes for Markdown and HTML to bridge the gap between editing and publishing.
  • Interactive Search & Replace: Powerful isearch (incremental search) and query-replace for fast navigation and editing.
  • High-Performance Buffer Engine: Uses a Piece Table data structure for efficient handling of large files and infinite undo history.
  • Appearance Customization: Adjust colors and fonts (Global or Buffer-local) via simple JSON configuration or M-x commands.
  • Seamless Japanese IME Support: Optimized for smooth Japanese typing with dedicated focus handling. (Toggle with C-\ or C-])

elecxzy IME Screenshot

  • Framework: Electron (Node.js)
  • Frontend: React, TypeScript (Custom rendering engine)
  • Styling: Styled-components (CSS-in-JS for clean, component-scoped design)
  • Syntax Highlighting: Highlight.js integrated

For a full list of available commands and keybindings, please refer to: 👉 COMMANDLIST.md

Binaries for Windows are available on the GitHub Releases page. Source code is currently private.

👉 Download the latest version


elecxzy は、長年愛されてきた Emacs の強力なユーザー体験を、最新の Web 技術(Electron)を用いてゼロから再構築したテキストエディタです。

Emacs の伝統的なキーバインドやワークフローを最大限に尊重しつつ、現代的な軽快さと使いやすさを両立。煩雑な環境構築に時間を取られることなく、あのお馴染みの操作感ですぐに創作活動を開始できる「スピード」と「シンプルさ」を追求しています。

  • モダンなUIデザイン: フローティング形式のミニバッファ(ポップアップ)、ステルス・スクロールバー、洗練されたタイポグラフィを採用。Web技術を活用した視認性の高いインターフェースと、Emacs独自の操作体系を共存させています。
  • Lisp非搭載の軽快さ: 複雑な処理系を持たないため、起動が速く、動作も軽量です。
  • 「即戦力」の初期設定: インストール後、すぐに使い始められるような初期設定を内蔵しており、直後からコーディングや執筆を行うことができます。
  • Emacs風の操作体系: C-x、M-x、C-s などの慣れ親しんだキーバインドをフルサポート。
  • 柔軟な画面分割とリサイズ: C-x 2 / C-x 3 による再帰的なウィンドウ分割と、C-x ^ / C-x } 等による直感的なサイズ調整。
  • 多様なメジャーモード: TypeScript, JavaScript, C/C++, Python, Go, Rust, SQL, YAML など、多数の言語のシンタックスハイライトに対応。
  • リアルタイム・プレビュー: Markdown や HTML の書き換えを即座に確認できるプレビューモードを搭載。
  • 対話的な検索と置換: インクリメンタル検索 (isearch) や、一箇所ずつ確認しながら置換できる query-replace。
  • Piece Tableエンジン: 大容量ファイルも軽快に扱え、高速な履歴管理(Undo/Redo)を可能にするバッファエンジン。
  • 外観・フォントの調整: M-x set-font によるバッファごとのフォント設定や、JSONによる配色カスタマイズが可能。
  • 高精度な日本語IME対応: Webベースエディタの課題であるIMEの挙動を最適化し、ストレスのない入力を実現。(C-\ または C-] でON/OFF切り替え)

elecxzy Screenshot

  • フレームワーク: Electron (Node.js)
  • フロントエンド: React, TypeScript
  • スタイリング: Styled-components (CSS-in-JS による堅牢なコンポーネント設計)
  • シンタックスハイライト: Highlight.js 搭載

📖 操作・コマンド一覧

すべてのコマンドとキーバインドの詳細については、以下を参照してください。 👉 COMMANDLIST.md

Windows用のバイナリは、GitHubのリリースページからダウンロード可能です。 (ソースコードは現在非公開です)

👉 最新版をダウンロードする


Q: Is word wrap (wrapping at the window edge) supported?

A: We currently have no plans to support word wrap. Implementing line folding significantly complicates rendering calculations, which would negatively impact elecxzy's core strengths: "extreme lightweightness" and "maintainability." Thank you for your understanding.

Q: Horizontal scrolling with my mouse tilt-wheel doesn't work.

A: In some environments using mouse utility software (e.g., Logi Options), the horizontal scroll signal (deltaX) may be blocked for unrecognized applications. In such cases, you can horizontally scroll by rotating the wheel while holding the Shift key.

Q: The cursor is misaligned when using "MS Gothic" or "MS Mincho" fonts.

A: This is caused by the legacy bitmap data embedded in these older fonts conflicting with modern text rendering. To maintain optimal display quality for modern programming fonts, this behavior is by design. Please use the default BIZ UDGothic or other modern monospace fonts.

Q: 右端で折り返し表示はできないのですか?

A: 現時点では対応予定はありません。折り返し処理(Wrap)を組み込むと画面描画の計算が大幅に複雑化し、elecxzyの強みである「動作の軽快さ」や「メンテナンスのしやすさ」に大きな影響を及ぼしてしまうためです。何卒ご了承ください。

Q: マウスのチルトホイールを倒しても水平スクロールが動作しません。

A: 一部のマウスユーティリティソフト(例:Logi Options)がインストールされている環境では、ソフト側が「未知のアプリ」への水平スクロール信号をブロックする場合があります。その場合は、Shiftキーを押しながらホイールを回転させることで、水平方向へスクロールが可能です。

Q: 「MS ゴシック」や「MS 明朝」を使うと、カーソルの位置がずれます。

A: これらのフォントが内蔵する古いビットマップ仕様と、最新の描画エンジンとの相性によるものです。他のモダンフォントの滑らかな描画や合字(リガチャー)を優先しているため、仕様となります。デフォルトの BIZ UDGothic などのご利用を推奨します。


License / ライセンス

This software is released under the MIT License. 本ソフトウェアは MITライセンス のもとで公開されています。

Acknowledgements / 謝辞

This application is inspired by the legendary editors GNU Emacs and xyzzy, and was developed from scratch to carry on their spirit:

  • GNU Emacs

    • Copyright (C) 1985-2024 Free Software Foundation, Inc.
    • Created by Richard Stallman
  • xyzzy

    • Copyright (c) 1996-2005 Tetsuya Kamei
    • Copyright (c) 2012-2014 xyzzy Project

Special thanks to the original authors for their pioneering work in the editor ecosystem.

联系我们 contact @ memedata.com