You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止rlwrap --remember将版本版权信息纳入补全候选列表?

解决方法

是有办法实现只补全你手动输入的内容的,你可以通过组合rlwrap的内置参数实现需求,具体方案如下:

方案1:临时生效(直接在启动命令中加参数)

你可以添加--prompt-regex和--forget-regex两个参数和--remember配合使用,完整启动命令如下:

rlwrap --remember --prompt-regex '^- ' --forget-regex '^(Standard ML of New Jersey|\[built:)' sml

参数说明:

  • --prompt-regex '^- ':指定SML运行环境的提示符规则为行首的- ,rlwrap识别到提示符后,只会将提示符后你手动输入的内容纳入补全记忆库。默认未指定提示符时,rlwrap会将所有终端输出的词汇都作为补全候选,这就是你输入Jer会补全出启动信息中Jersey的原因。
  • --forget-regex '^(Standard ML of New Jersey|\[built:)':匹配所有版本、编译时间相关的启动输出行,被该正则匹配到的行内容不会被加入补全词库,你可以根据自己实际的启动输出内容调整正则规则,覆盖所有需要排除的行。

方案2:永久生效(写入rlwrap配置文件)

你可以将SML的专属配置写入rlwrap的配置文件,后续不需要每次输入长命令:

  1. 打开(如果不存在则新建)~/.config/rlwrap/sml 文件
  2. 写入以下内容:
remember
prompt-regex=^- 
forget-regex=^(Standard ML of New Jersey|\[built:)
  1. 保存退出后,后续直接执行rlwrap sml即可自动加载配置,实现需求。

内容的提问来源于stack exchange,提问作者Flux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:39:03