Vim 绘制 ASCII 艺术的隐藏技巧

Making ASCII Art in Vim

我偏爱用极简的 Vim 来创作 ASCII 艺术,这篇文章专为有经验的 ASCII 艺术爱好者分享 Vim 中的独特功能。首先,通过设置 virtualedit=all,你可以让光标自由移动到行尾之外的空白区域,无需预先填充空格。其次,利用 Visual block 模式,你可以轻松地在多行同时插入字符或矩形区域填充,比如快速在 Nyan Cat 身后添加波浪线。此外,Vim 的宏功能(Macros)能帮你记录并重复复杂的绘图动作,比如对角线平铺图案。虽然这些技巧并非必需,但它们能让你的创作过程更加高效和有趣。如果你从未尝试过 ASCII 艺术,建议先直接动手,感受创作的乐趣;若已有一定基础,不妨探索这些 Vim 的隐藏功能,让你的 ASCII 艺术更上一层楼。

如果你从未尝试过制作 ASCII 艺术,我建议你不要阅读这篇文章!你不需要任何这些信息就能创作出出色的 ASCII 艺术。
  1. tjoff

    挺酷。如果我想画个又大又显眼的大字,我常用的快速粗暴方法就是在 vim 里调用 figlet:":r!figlet vim"

  2. tromp

    > 当被问到“制作 ASCII 艺术需要任何特殊的程序或软件吗?”时,伟大的 ASCII 艺术家 Joan G. Stark 回答说:“你只需要一个使用等宽字体的文本编辑器。”

    你可以在这里找到她令人印象深刻的 ASCII 艺术存档:

    https://web.archive.org/web/20091028031724/http://www.geocit...

  3. ramses0

    `:help searchoffset` 还有另一堆实用技巧,通常用法如下:https://til.codeinthehole.com/posts/about-vims-semicolon-sea...

    /x/e-3

    /x/+1

    /x/;/yz

    ……它允许近乎任意的光标定位(例如:这篇博客文章中提到的“波浪线”情况),以便找到波浪线的起点或终点(或者临时用 "X" 和 "Z" 标记起点/终点,然后用 `V...:s/[XY]/./g` 清除它们)

同日更多故事

2026-07-23