```ascdraw:ASCII/UTF-8 图表编辑器(支持 144FPS)```
ascdraw: Editor for ASCII/UTF-8 diagrams (in 144FPS)

原始链接: https://github.com/exlee/ascdraw

**ascdraw** 是一款高性能、以键盘操作为优先的绘图工具,专为基于文本的工作流而设计。它提供了一个无限大的 Unicode 画布,用于绘制线条、形状、符号和文本,并支持图层、颜色以及导出为 TXT、JSON 和 PNG 格式。该工具基于 Rust 构建,运行速度超过 120 FPS,非常适合追求效率和程序化集成的用户。 主要功能包括: * **直观的编辑方式:** 采用模态界面,支持图章、路径连线和矩形操作。 * **工作流集成:** 可作为独立编辑器使用,也可作为 Neovim、Kakoune 和 Emacs 等文本编辑器的过滤器。 * **高度可定制:** 通过 `toml` 文件进行配置,支持自定义主题、字体和快捷键。 ascdraw 采用 GPLv3 许可证,可免费使用,同时也欢迎通过 9.99 美元的个人许可进行自愿捐赠。虽然软件功能完善,但目前仍处于积极开发阶段,界面也在不断演进。用户可以通过 Rust 工具链从源码构建,或直接从 GitHub 下载。对于不适用 GPL 条款的商业用途,可根据需求提供定制许可。

抱歉。
相关文章

原文

I value ascdraw at $9.99 or €9.99 for a personal license. It is GPLv3 software, so payment is entirely optional. If it is useful to you, please fund its development.

ascdraw app icon

Native, keyboard-first diagramming for people who think in text.

ascdraw is an effectively infinite Unicode canvas for connected lines, symbols, shapes, text, rectangular editing, layers, and TXT/JSON/PNG export. It is usable today, but its interfaces and document format are still evolving. The canvas renders at 120+ FPS, which matters more than you might think in a keyboard-first editor.

Stamp inventory and large outlined text

Connected-line planning diagram

Mixed text, diagrams, and stamped toolbar

Download a current nightly from GitHub Releases, or build it yourself with the Rust toolchain managed by mise:

cargo build --release --locked
./target/release/ascdraw

Install from a checkout instead:

cargo install --path . --locked

ascdraw opens in Stamp mode. Numbered menus show their own keys; this table covers the less obvious shortcuts. Directions are arrow keys or h, j, k, l.

Action Key
Move direction
Draw/apply tool Ctrl + direction
Place stamp / preview line or shape Space
Select rectangle Shift + direction
Erase / move selection Alt + direction (moves when selection is expanded)
Text mode i
Continuous replace mode Return or Shift + R
Replace once r, then a character
Jump across canvas m, then direction
Clear selection Backspace
Undo / redo u / U or Ctrl/Cmd + Z / R
Copy / cut / paste Cmd + C / Ctrl/Cmd + X / Ctrl/Cmd + V
Cancel Escape, Ctrl + C, or Ctrl + G
  • Stamp: place symbols, arrows, fills, and blocks.
  • Line: draw connected Unicode lines; Space starts a routed preview.
  • Shape: draw outlined or filled rectangles.
  • Utils: push/pull rows and columns, or pan the viewport.
  • Files/Togls (0): load, save, export, change theme, and enable colors or layers.

Optional features:

  • Color: choose from 16 ANSI-style colors for new text and drawing. PNG and JSON preserve colors; TXT does not.
  • Layers: add, hide, reorder, and merge layers. Editing affects the active layer; PNG preserves the visible stack.
  • Dark Mode: available, but less polished because I prefer and primarily use black on white.

In Line mode, Space starts a routed preview; move to route, Space commits an anchor, and Space again finishes. Backspace removes the last anchor and Escape cancels the live segment.

Modifier order matters. The first chooses the action; the second changes its distance:

First held Action Add for 5 cells Add for 10 cells
Shift Select Ctrl Alt
Alt Erase Ctrl Shift
Ctrl Draw/apply tool Alt Shift

Scroll or two-finger drag to pan. Pinch or Ctrl/Cmd + scroll to zoom. Most tools also support clicking and dragging.

Edit a native document in place, with normal autosaving:

Filter mode reads plain text from stdin, opens it for interactive editing, then prints the result to stdout once the window closes. It does not touch the scratchpad:

ascdraw - < input.txt > output.txt
# or
printf 'box\n' | ascdraw - > output.txt

This also makes ascdraw usable as an external editor filter:

Editor Command
Kakoune `
Neovim :%!ascdraw -
Emacs `M-

Bundled defaults are in ascdraw.toml and theme.toml. Put overrides in $XDG_CONFIG_HOME/ascdraw/config.toml, or ~/.config/ascdraw/config.toml. Changes reload while the app is running. Run ascdraw --show-config to see the merged configuration and searched paths.

Only include values you want to override:

font-family = "SF Mono"
font-size = 14.0
transparent-menubar = true

[jump]
inactivity-ms = 500

[keys]
font-scale-up = "Cmd-="
font-scale-down = "Cmd--"
window-new = "Cmd-N"

[theme.default]
fg = "#000000"
bg = "#ffffff"

[theme.cursor-drawing]
fg = "#00008b"

Colors use #RRGGBB or #RRGGBBAA. Theme faces and all available settings are listed in the two bundled default files linked above.

cargo fmt --all -- --check
cargo test --locked --quiet
cargo clippy --all-targets --all-features --locked -- -D warnings

OpenAI GPT-5.5 and GPT-5.6 Sol aided development. Mostly.

Copyright (C) 2026 Przemysław Alexander Kamiński vel xlii vel exlee.

ascdraw is released under the GNU General Public License, version 3 or later. Commercial licenses are available where GPL terms are unsuitable; contact [email protected]. See NOTICE for details.

联系我们 contact @ memedata.com