怎么用rg.el 搜索中文

求问各位大佬,怎么用rg.el 这个库来搜索中文呢?或者你们用rg搜索中文怎么搜的,encoding这些参数怎么传入进去的。总不至于是直接命令行搜的吧

color-rg.el 就可以做到

1 个赞

系统?如果是Windows会很麻烦

哇,懒猫,感谢大佬

windows。。。

忍了吧,rg用了compile,compile调用了cmd,改这个的in/out的编码容易出莫名其妙的问题

linux表示毫无压力,直接输入就可以了

Windows10下用不了,改rg.el的rg-build-command函数,把这个函数倒数第二行pattern改成 (encode-coding-string pattern locale-coding-system)

拼接rg命令的时候把中文转成gbk编码,拼出的这个命令cmd.exe才能认识它。

这样就可以搜索中文内容了,但是文件夹路径有中文没处理,一般不用中文路径,先不管了。

参考另一个帖子

1 个赞

color-rg.el

1 个赞
;; win32平台解决rg.el无法正常搜索中文,在调用rg.exe前使用本地编码修改pattern 
(advice-add 'rg-run :around  
            (lambda (orig-fun &rest args)  
              (let ((pattern (car args)))  
                (apply orig-fun  
                       (encode-coding-string pattern locale-coding-system)  
                       (cdr args)))))