Windows上使用ag搜索卡死

ripgrep 可以加参数 -E gbk 或者 --encoding gbk 搜索GBK编码的中文。

1 个赞

我用的spacemacs, 估计是我的编码设置有问题

编码设置真是令人头疼啊

emacs 可以单独对某一个进程(这些进程是指与emacs有交互的进程,最普遍的场景就是在emacs中给某一个进程传递参数然后把这个进程的运行结果读取到emacs的buffer中,传递参数和读取运行结果都会有相应的编码处理过程)设置编码,你把它内部关于编码的处理机制搞明白就能得心应手了。以下是我对几个进程的编码设置(也是参考了网上大神的教程!),其他关于编码的设置保持默认。

     (when (eq system-type 'windows-nt)
       (set-default 'process-coding-system-alist
     '(("[pP][lL][iI][nN][kK]" gbk-dos . gbk-dos)
       ("[cC][mM][dD][pP][rR][oO][xX][yY]" gbk-dos . gbk-dos)
       ("[rR][gG]" utf-8-dos . gbk-dos))))

类似这样的: “[rR][gG]” 其实匹配 “rg” 进程名称的正则表达式。 多看看官方文档关于这方面的内容,相信你今后对编码的问题不会太头痛,哈哈。

emacs 对编码的处理能力和灵活性绝对会令你惊叹。

9 个赞

刚试了 win7 改用 ag 了, 中文可正常搜了

配置相当好用,谢谢。

Windows上使用eshell或者shell的时候,中文编码有问题,如果eshell里编码没有问题了,magit的窗口的中文编码就有问题了,是否知道如何解决这个问题啊?

有看过这个主题吗。

这个主题最后问题依然有。

对emacs的编码设置真的是完全不懂啊,对各个编码了解的也不多。

magit 我还没用过。

1、在系统中直接用 git 的命令行工具实验中文是否显示和输入都正常,如果在系统中都正常而在emacs中显示不正常则可考虑调整emacs,否则得先设置好 git 的中文环境;

2、了解一下 magit 自身是否有对编码处理的机制,是否有编码相关的设置;

3、试试我之前的办法,单独设置一下 git 相关进程的编码设置。

以上只是一些思路,我本人也并未实验,:sunglasses::laughing:

另外,你如果用的是中文 windows 系统的话,大体上都是 GBK 和其他编码之间的转换问题,大多数场景是 GBK 和 UTF-8 之间的转换问题。

2 个赞

哦,好的,谢谢。

我把pt和git加进了上面的代码中,运行良好。