Rime 文件候选粘贴※
这个项目把文件搜索和文件粘贴拆成两个进程:
FilePasteHelper扫描配置目录,维护轻量 TSV 索引,并负责 Windows 文件剪贴板和Ctrl+V。rime/lua/file_paste.lua读取文件索引和文本配置,在小狼毫候选栏生成文件候选或网址/短语候选。
文件交互是:输入 fj 加文件名、中文名、拼音或首字母,例如 fjht、fjhyjy、fj合同。按数字键或空格选中后,文件会被放入当前窗口的剪贴板并粘贴。
文本交互是:输入 wy 加关键词,例如 wy-github、wy-thanks。按数字键或空格选中后,对应网址、短语或长句会被放入剪贴板并粘贴到当前输入框。
一键安装包※
下载压缩包:
FilePasteHelper.zip。解压后进入 FilePasteHelper 目录运行:
Set-ExecutionPolicy -Scope Process Bypass -Force
.\install.ps1 -Roots "E:/A-查/dec/A tms功能教程图片"安装脚本会复制 Helper、安装 Lua、写入 rime_frost.custom.yaml 的托管配置块、生成 file-paste.json、建立索引,并在启动文件夹创建 watcher 启动脚本。安装后启动 watcher 并重新部署小狼毫。
安装后可用下面三个批处理控制 watcher:
FilePasteHelper\start-watcher.bat
FilePasteHelper\stop-watcher.bat
FilePasteHelper\restart-watcher.bat
FilePasteHelper\reindex.bat安装小狼毫脚本※
把 rime/lua/file_paste.lua 复制到 %APPDATA%\Rime\lua\file_paste.lua。把 config/default.custom.yaml 复制到 %APPDATA%\Rime\default.custom.yaml;如果已有这个文件,只合并 patch 下的配置,避免覆盖已有方案。
如果当前输入方案是 rime_frost,还需要把 config/rime_frost.custom.yaml 复制到 %APPDATA%\Rime\rime_frost.custom.yaml,或把其中的 patch 合并进已有文件。engine/translators 和 engine/processors 属于具体方案,放在当前方案的 custom 文件里最稳。
按实际安装位置修改以下配置:
recognizer/patterns/file_paste: "^(fj|wy).*$"
file_paste/trigger: "fj"
file_paste/text_trigger: "wy"
file_paste/index: "%APPDATA%/Rime/file-paste.index.tsv"
file_paste/helper: "C:/Program Files/FilePasteHelper/FilePasteHelper.exe"修改 config/file-paste.json 中的 roots。建议把它复制到 %APPDATA%\Rime\file-paste.json,例如:
{
"roots": ["D:/常用文件", "E:/素材"],
"indexPath": "%APPDATA%/Rime/file-paste.index.tsv",
"requestPath": "%APPDATA%/Rime/file-paste.request.tsv",
"textItemsPath": "%APPDATA%/Rime/file-paste-text.tsv",
"rimeDictionaryPaths": [
"%APPDATA%/Rime/*.dict.yaml",
"%APPDATA%/Rime/cn_dicts/*.dict.yaml"
],
"maxCandidates": 6,
"includeHidden": false,
"pasteFallback": "none",
"pasteDelayMilliseconds": 300,
"watchDebounceMilliseconds": 800
}启动索引器※
先手动生成一次索引:
FilePasteHelper.exe --config "$env:APPDATA\Rime\file-paste.json" --index确认结果正常后,把下面命令放到 Windows 启动项或任务计划程序,让它在登录后后台监听目录变化和 Rime 的粘贴请求:
FilePasteHelper.exe --config "$env:APPDATA\Rime\file-paste.json" --watch在小狼毫中执行一次“重新部署”。之后可以在支持粘贴文件的微信、飞书、钉钉、QQ、浏览器聊天框中测试 fj。
注意:Lua 不直接启动 FilePasteHelper.exe,而是写入 %APPDATA%\Rime\file-paste.request.tsv。因此 FilePasteHelper.exe --watch 必须保持运行,否则候选能出现,但选中后不会自动粘贴。
网址和短语※
编辑 %APPDATA%\Rime\file-paste-text.tsv,每行一条:
github https://github.com GitHub
thanks 收到,谢谢。 常用短语格式是 关键词<Tab>要粘贴的文本<Tab>候选注释。也可以只写一列文本,此时关键词等于文本。修改后不需要重建文件索引,最多等待 1 秒缓存刷新。
--index-path 可以临时覆盖配置中的索引位置,--fallback none 可以关闭普通文本框里的路径降级:
FilePasteHelper.exe --config "$env:APPDATA\Rime\file-paste.json" `
--index-path "$env:TEMP\file-paste.index.tsv" --index拼音匹配范围※
resources/pinyin.tsv 内置了一组常见文件名汉字的全拼映射。未收录的汉字仍支持文件名精确匹配,并通过 GB2312 编码提供首字母近似匹配;需要完整全拼时,可以提供自定义映射文件,每行一个字符和拼音,中间用 Tab 分隔:
合 he
同 tong然后在 file-paste.json 中设置:
"pinyinMapPath": "%APPDATA%/Rime/file-paste-pinyin.tsv"当前边界※
- 目前索引按修改时间排序,没有记录使用次数。
- 触发前缀固定为配置中的
fj,这样不会污染普通中文候选。 - Lua 处理器依赖 Rime 的
get_selected_candidate();配置已把它放在默认 selector 前面,若某个自定义方案重排了 processors,需要保留这个相对顺序。 - 助手发送的是当前前台窗口的
Ctrl+V,选中文件后不要在几十毫秒内切换窗口。