Windows 代码页 问题。
启用win10的全局utf-8选项,虽然这是一个实验性选项,但我使用了一段时间了,除了少部分旧软件内置菜单和显示编码非unicode所以无法正常显示外,使用体验非常好。
windows 下无法进行中文搜索问(其实 日文 韩文 乃至法语等其他拉丁脚本也一样)其实不是emacs编码设置问题,而是emacs对subprocess的命令编码无论你如何设置,在传输到cmdproxy shell 的时候都会转换到你的 locale code page
,通常对于中文用户就是gbk编码,因此 rg ag等默认接受utf-8参数的工具接到的是乱码,当然搜索不到。具体bug可以看这个mailing-list Passing unicode filenames to start-process on Windows?
启用后 添加如下片段到你的 启动配置中:
(when (and (eq system-type 'windows-nt)
(eq w32-ansi-code-page 65001))
(setq w32-system-coding-system 'utf-8)
(define-coding-system-alias 'cp65001 'utf-8))
7 个赞
color-rg 能不能对 rg工具 增加参数的搜索?
比如 我实际用rg搜索的时候,会使用 -T, --type-not参数来 忽略某种文件类型,
color-rg 有 可以设置这种参数的功能吗?
或者说 emacs下怎么实现这种功能?
C-h f color-rg-build-command
你可以改一下这个函数
感谢 确实有这个功能,能不能 举个例子怎么使用color-rg-build-command这个函数,我不会lisp
你把括号去掉 他就是python了
如果你想用 --type-not
只需要在 (list “–heading”) 后面加一行
(list “–type-not” “asm” “–type-not” “awk”)
然后 C-x C-s 保存
再然后 M-x eval-buffer
再然后 你就能去github提issue了
但是你这样不是灵活的啊,我想有可以灵活设置的功能。
那样啊
你可以 M-x info C-s elisp 回车 回车
只需要找 list 和 defcustom 相关的 就行了
你需要的功能是有现成的。直接在 color-rg buffer里面使用大写C。绑定到的函数是
color-rg-customized-search
。就可以手动输入命令啦。你想传什么给rg都可以。
我想知道如何进行全局替换?我搜索之后,r输入我的目标字符,回车,然后并没有进行替换,我应该怎么操作才能进行全局替换?
➜ ccJSON git:(master) ls -l
total 424
-rw-r--r-- 1 originals staff 2394 11 7 22:37 TAGS
-rwxrwxrwx 1 originals staff 136456 11 5 23:16 a.out
-rw-r--r-- 1 originals staff 348 11 7 22:37 all.json
-rw-r--r-- 1 originals staff 5997 11 7 22:37 ccjson.cpp
-rw-r--r-- 1 originals staff 3026 11 7 22:37 ccjson.h
-rw-r--r-- 1 originals staff 1001 11 7 22:37 debugprint.h
-rw-r--r-- 1 originals staff 22 11 7 22:37 error1.json
-rw-r--r-- 1 originals staff 21 11 7 22:37 error2.json
-rw-r--r-- 1 originals staff 3 11 7 22:37 error3.json
-rw-r--r-- 1 originals staff 46 11 7 22:37 error4.json
-rw-r--r-- 1 originals staff 48 11 7 22:37 error5.json
-rw-r--r-- 1 originals staff 1800 11 7 22:37 main.cpp
-rw-r--r-- 1 originals staff 49 11 7 22:37 makefile
-rw-r--r-- 1 originals staff 487 11 7 22:37 readme.md
-rw-r--r-- 1 originals staff 65 11 7 22:37 test.json
-rw-r--r-- 1 originals staff 112 11 7 22:37 test2.json
-rw-r--r-- 1 originals staff 59 11 7 22:37 test3.json
-rw-r--r-- 1 originals staff 60 11 7 22:37 test4.json
-rw-r--r-- 1 originals staff 54 11 7 22:37 test5.json
请问楼主这个和内置的wgrep比有什么明显的优点?
我平时一般counsel-rg搜索到想要的内容,然后C-c C-o把结果pop到一个grep buffer里,C-x C-q切换到可写的wgrep模式,随便修改,完毕以后C-x C-q提交修改结束。
2 个赞