rs1n 如何仅靠选词实现完美对齐

"I just chose words carefully."

rs1n 如何仅靠选词实现完美对齐

在 monospace 字体排版中,居中和两端对齐往往因为无法分割空格而显得杂乱无章。连通常的连字符方案也会破坏复制粘贴的体验。然而,rs1n 在 90 年代末为 Super Metroid 撰写的攻略中,却完成了一项惊人的壮举:他全程使用 ASCII editor,通过精心挑选每一个单词,让长达 17000 字的文本在右侧边缘完美对齐,全程未出现双空格。这种对文字的极致掌控,就像我们在 UI 设计中为了适配特定宽度而反复调整按钮文案一样,虽然鲜少在屏幕写作中被提及,却体现了排版艺术中令人惊叹的匠心。

我没有使用任何程序,只是精心挑选了单词,让所有内容在右侧完美对齐。
  1. sho_hn

    Gillian Anderson 最近在一次《X 档案》采访中透露了一个类似的故事,她说 Chris Carter 有一种类似强迫症的习惯,写剧本时会刻意调整台词以符合特定的排版偏好(避免出现孤行 [1]),这也造就了该剧独特的台词节奏。

    1 = https://en.wikipedia.org/wiki/Widows_and_orphans

  2. easydidit

    类似的例子还有 Laravel 的 Taylor Otwell,他写的注释块正好是三行,且每一行都比上一行短三个字符,例如:

    /*

    |--------------------------------------------------------------------------

    | Application Name

    |--------------------------------------------------------------------------

    |

    | This value is the name of your application, which will be used when the

    | framework needs to place the application's name in a notification or

    | other UI elements where an application name needs to be displayed.

    |

    */

    https://github.com/laravel/framework/blob/13.x/config/app.ph...

  3. AgentOrange1234

    在编程中,某些选词方式确实很有价值。遗憾的是,像 true/false、good/bad、first/rest 和 left/right 这样的词对长度并不相等。但也有一些很棒的词对,比如 old/new、head/tail、fast/slow、same/diff 和 right/wrong,它们有助于在函数中实现自然的垂直对齐。

  4. _jackdk_

    我很好奇,那位撰写 Super Metroid 攻略的“英雄”作者,在写作过程中是否曾意识到“missiles”不是“missles”,然后决定将错就错,而不是重写整篇攻略。

    另外,帖子中用于等宽示例的字体真是让人怀旧感爆棚。用的是哪一款?它让我想起了 https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_vga_...

  5. card_zero

    这或许能

    通过打破习惯性的

    模式来焕发写作活力,

    从而迫使作者

    做出更具原创性的选择。

  6. gyomu

    > 与此同时,我们当中有多少人至少曾点头表示认同,因为自己也曾花几个小时去调整按钮 UI 字符串或工具提示,只为让它适配密集界面中的特定宽度?

    我也干过,结果收到一封客户邮件,说他们使用了操作系统的显示缩放无障碍功能,导致内容在他们的设备上被截断了。:')

    另见:将界面本地化为德语。

  7. ivw

    suckerpinch 有个很棒的视频,演示了如何用 LLM 自动完成同样的事情:

    https://tom7.org/bovex/

  8. unicorn_platfor

    我喜欢这个观点:任意的约束实际上能提升写作质量。如果没有约束,很容易退回到熟悉的措辞;而为了适应某种不寻常的限制,会迫使你重新斟酌每一个词。我在想,这是否也适用于编程和其他创造性工作?

  9. fhub

    我不得不查了两个定义。

    * 孤行(Widow):段落末尾的一行短行,被孤零零地留在下一页或下一栏的顶部。

    * 孤字(Orphan):段落开头的一行,被孤零零地留在上一页或上一栏的底部。

  10. howToTestFE

    我很确定 Laravel 源代码中函数上方的注释块向来都是大约三行,且每一行都比上一行稍短一些。不确定现在是否还在这样做或强制执行,但以前看到这种格式总觉得很酷。

    这里有个例子 - https://github.com/illuminate/database/blob/master/Connectio... - 看起来每一行都短三个字符。

同日更多故事

2026-08-30