我调用 rtags-find-references 后调出了 一个helm 的窗口。 里面有很多是test 文件的引用(文件路径名包含了test 字符)。 我在pattern 中输入 test, helm 只显示 test 相关的 (符合期望) 我在pattern 中输入 !test, helm 只什么都不显示了, 期望是只是将 test 的过滤。
这是哪里出错了呢?
附上截图一共参考:
我调用 rtags-find-references 后调出了 一个helm 的窗口。 里面有很多是test 文件的引用(文件路径名包含了test 字符)。 我在pattern 中输入 test, helm 只显示 test 相关的 (符合期望) 我在pattern 中输入 !test, helm 只什么都不显示了, 期望是只是将 test 的过滤。
这是哪里出错了呢?
附上截图一共参考:
因为没有这种写法,可以看看emacs lisp的正则表达式语法
因为没有这种写法 ===》 ! 的写法是根据这里来的。 https://www.reddit.com/r/emacs/comments/4k3zin/helm_does_something_like_an_inverse_pattern_exist/
可以看看emacs lisp的正则表达式语法 ===》 参考 regex - Regular expression to match a line that doesn't contain a word - Stack Overflow 尝试了下 ^((?!test).)*$ 也没有测试出结果…
涨知识了。我用helm-mini和helm-swoop都有效果。不起效的原因可能是这个功能是可选的,然后rtags-find-references
没有启用。我对helm了解不多,@xuchunyang 可能知道。
试试[^\(test\)]
有没有用?
多谢 @xuchunyang @casouri.
我把这个问题问了rtags 的作者,有可能是那里的问题。 Help Needed: after rtags-find-reference, I want to exclude some pattern · Issue #1288 · Andersbakken/rtags · GitHub
@casouri 尝试了一下 [^(test)], 也不行。
helm用的不多,猜想应该和ivy一样有“把当前过滤结果放到一个buffer中”的功能,然后反向选择只要修改buffer就可以了,一个曲线操作的思路