关于 sim 的常见问题
简短的回答。每条都链接到讲得更深入的页面。
- sim 是什么?
sim(也称 sim editor)是新一代 Vim:一款用 Rust 从零写成的终端编辑器,保留了 Vim 的模态编辑和核心按键,并把平时被隐藏的东西显示出来:不可见字符和双向字符、编辑器之外的写入、相对 git HEAD 的改动,以及配置可能执行命令的仓库。可执行文件是
sim;软件包名称是sim-editor。- sim 是 Vim 的 fork 吗?
不是。sim 不是 fork,而是一款用 Rust 从零写成的新 Vim,保留了 Vim 的模态编辑和核心按键(移动命令、操作符、文本对象、计数、
.、可视模式、:s和范围)。它并非完全兼容 Vim:没有 Vim script,没有插件,没有配置文件,目前只有一个寄存器。Vim 的寄存器和宏在计划中。- sim 与 Neovim 和 Helix 有什么不同?
Neovim 和 Helix 是成熟的编辑器,带有语言服务器客户端,Neovim 还可以用 Lua 插件扩展。sim 更小,用可扩展性换取固定的行为:没有插件,没有配置文件,没有 modeline,并且对被隐藏的东西给出可见的标记。对比页面为每一条关于其他编辑器的说法都引用了一手来源。
- sim 能保护我免受一切威胁吗?
不能。sim 不是沙箱:它以你的权限运行。它会显示隐藏字符,不会运行文件和仓库要求它运行的代码,也不会丢失你的文本。它不会检测其他文字中外观相似的字母。它的各项说法来自项目自己的规格和测试,而不是独立审计。
- sim 会读取 modeline 或项目配置吗?
不会。设置和命令绝不会从文件内容中读取,也没有可从仓库加载的配置文件或插件。sim 只记住你选择的外观、图标和 Markdown 视图。
- sim 支持语言服务器吗?
暂不支持。计划提供一个服务器运行在沙箱中的语言服务器客户端。目前 sim 已有语法高亮、文件树、模糊查找文件和实时文本搜索。
- 如何安装 sim?
使用 Homebrew 安装,或从源码构建。从源码构建需要 Rust 1.88 或更高版本。AUR和crates.io 的软件包即将推出。
- sim 支持哪些平台和终端?
Linux 和 macOS,任意终端。当终端支持时,会使用颜色、kitty 键盘协议和 OSC 52(Ghostty、kitty、WezTerm、tmux)。图标需要 Nerd Font,可用
zi关闭。- sim 快吗?
在项目自己的基准测试中(release 构建、100,000 行的文件、面板打开、语法高亮开启),单次按键在 p99 下耗时不到 1 ms。在有 100,000 个文件的仓库中,第一帧在 1.8 到 8.7 ms 内绘制完成(实测),而要求是 20 ms。这些数字来自项目规格和一台机器(AMD Ryzen 9 9950X);你的机器会有所不同。
- sim 能处理日文和其他 CJK 文本吗?
能。宽字符占两列,文章按日文禁则(kinsoku)规则折行,按词移动会在文字种类变化处切分 CJK 文本,开着输入法(IME)时,全角按键也能当作命令使用。
- sim 会把数据发送到别处吗?
sim 自己不会打开任何网络连接,它启动的 git 也经过配置,无法执行 fetch。本网站不设置 Cookie,也不加载第三方脚本或字体。
- 许可证是什么?
sim 采用 MIT OR Apache-2.0 许可,可任选其一。版权所有者是 EFG Technologies。
- 名字是怎么来的?
sim 是“Secure vIM”的缩写:一款以安全为目标构建的 Vim。由于单独的“sim”在搜索中有歧义,本站在它旁边写上“sim editor”或“新一代 Vim”。