如果跨多种编程语言重构, 确实需要小心.
建议搜索以后, 在 color-rg 里面按 f 或者 F 先过滤不同的文件类型进行过滤
最后按 r 键批量替换同一种类型文件的所有字符串.
如果跨多种编程语言重构, 确实需要小心.
建议搜索以后, 在 color-rg 里面按 f 或者 F 先过滤不同的文件类型进行过滤
最后按 r 键批量替换同一种类型文件的所有字符串.
Transferred keyword if use default `color-rg-default-argument' · manateelazycat/color-rg@03d4233 · GitHub 今天推送了个补丁, color-rg 现在会针对 foo 或者 "foo 搜索字符串先转换成 \
foo 或 "foo 再传递给 ripgrep
Automatically expand the block of matching keywords in org files and … · manateelazycat/color-rg@30e9cba · GitHub 今天写了个补丁, 更好的支持 org 文件内容搜索, 主要增强了:
1.搜索 org 文件的时候, 自动展开org文件中匹配关键字的区域, 以前需要手动按Tab展开
2.当关键字在 org link 语法块内会自动进行位置修正, 比如 [[file link]] 会向前移动两个字符的位置, 比如关键字在 http link 的连接字符串中 [[ link content ] [ link title]] , 而不是在标题区域, 会自动跳转到连接字符串的开头位置
上面的两个增强会让 color-rg.el 对 org 文件内容的搜索更加方便.
还遗留的问题是, 在 org 文件中, 如果有中英文混合的情况下, move-to-column 的位置不正确, 还在想办法解决, 如果有哪位高手有方案, 欢迎分享解决方案.
应该现做两个实验
@node VHDL程序组件
搜索 “VH” 的时候应该是 行:7
搜索 “组件” 的时候应该是 行:17
因为我用的是utf-8的编码,得到这个结果的原因是因为一个中文可能是三个char编码而成的
还有就是index是从1开始,而不是从0开始
move-to-column 他把中文当成2个char
解决这个问题可以从两方面着手
1.修改rg的代码,让他对utf-8编码的计数不是按三个char,而是按2个char
2.分析buffer中的当前行,分别将中文字符按3个、2个char计数,得到与rg对应的那个column
终于解决了中英混排时正确定位到 ripgrep 输出的关键字列位置.
不用那么麻烦,直接用string-bytes函数就可以了
今天写了一个小补丁: 跳转匹配的时候, 显示匹配行所在的函数名
使用场景: 经常需要在大型项目中查看某个变量的引用情况, 如果这个变量在多个文件中都有, 而且所处行的函数非常长, 这个小特性就非常有用, 在分析变量引用的同时不用滚动窗口就知道所处的函数区域, 加快源码分析的速度.
能和
结合一下吗?
让他可以使用color-rg的搜索结果作为数据源
我只用我自己的lazy-search , 不开发我不用的功能,没时间,抱歉,但是我欢迎任何人的补丁。
好吧
理解
可能是我想多了
好像发现了一个bug
c语言的代码一般都有tab 在我的电脑上tab是8个空格
在有tab的行跳转到的column会出偏差
给可重现样本发到 issue 里面去吧,谢谢
把move-to-column 改成 goto-char就可以了
先给我一个重现文件吧,这个要多测试一下
搜索 debug-enable
我测试了你的文件,move-to-column 没有问题。 我觉得你最好用 github 的 issue, 把你的配置,你遇到的问题,重现环境,甚至你觉得正确的PR一次提交,这样在论坛每次只说一句话效率很低,也耽误看帖子人的事件。
如果只是我一个人有这个问题
那很有可能是误报了 可能是因为我的配置太乱了
抱歉
多测试一下吧,如果是bug,欢迎提交issue。
还有就是,你用的是你自己改造的版本还是我的版本?至从你上次提交PR以后我又写了很多补丁。
确实是我的问题
我用的还是我的版本
在你的版本中 color-rg-jump-to-column 应该是连中文的问题都解决了
不过 现在还是不能同时搜索两个关键字吗?
那个功能不难实现的吧!
是的,最新版支持中文跳转和Org-Link连接的跳转,现在已经比较智能的跳转到对应的位置,其他 ripgrep 工具都不支持中文列跳转。
不难, 只是不知道同时搜索两个关键字的初衷是啥?