大家好,我之前在寻找一款emacs中能够批量搜索和替换的插件,color-rg在linux上表现很好,于是我在windows上也安装了,但是在windows上无论搜索什么它都说no matches。
排查步骤:
- 复制color-rg buffer中生成的命令到windows terminal下执行,能得到搜索结果,仅 color-rg buffer提示没有结果;
- 怀疑是编码的问题,注释掉color-rg.el中的 encoding 部分的几行代码,情况没有变化,在color-rg buffer中搜索不到任何结果;后改 locale-encoding-system 为 'utf-8 ,然而情况还是没有变化;
- 在chatgpt帮助下怀疑可能是斜杠的问题,然而无论我用正斜杠反斜杠还是双反斜杠路径生成的命令,windows terminal始终都能搜索到结果,而color-rg buffer始终告诉我no matches;
- 在chatgpt帮助下怀疑生成的命令中单引号windows不识别,因此使用了
setq color-rg-search-ignore-rules nil
将这块使用单引号的部分删去,然而没有改善;
color-rg生成的命令示例:
rg --column --color=always -H --heading --max-columns 3000 --no-ignore --smart-case -e "dir" "c:\\Users\\ASUS\\.emacs.d"
我始终想不明白为什么windows terminal可以执行并返回结果但是在color-rg中却没有结果。不知大佬们是否能提供一些排查思路,感激不尽。