照搬的 Solarized 吧
几年前 看到一句话 意思是
人们用把人类送上太空的电脑切水果 应该是当时切水果游戏比较盛行
在这里不是切水果 而是 配颜色
- eldoc 和 popup 结合, 且在括号里依然有效, 甚至可以根据光标下的argument更改显示出的documentation。 这点现在lsp-ui-doc做的很搞笑,因为用了symbol-at-point,输入括号之后popup就没了- -
是不是指textDocument/signatureHelp
? 我在https://github.com/emacs-lsp/lsp-mode/pull/422裏也提到了:
BTW, (defun lsp--text-document-signature-help () ...) only takes effect when
(symbol-at-point)
is not
nil. This does not work well for
foo(arg0, ` (when there is no symbol in the argument position)
還是要稍微考慮下性能問題,不要稍微移動一下就往server發textDocument/signatureHelp
。
我一般用counsel-rg
或者counsel-ag
,然后C-c C-o
搭配wgrep
操作。当然,纯用ag
或者rg
也能实现,而且能分组显示。强烈推荐rg.el,不是ripgrep。个人感觉这是目前效率最高的。感兴趣可以参考Centaur Emacs的配置。上图
一直在用ag.el, 与wgrep配合完美. 试用了一下rg.el, 感觉差别不大. 之前发现ag有点bug一直没解决, 就把ag.el改造了一下, 内部调用rg命令. 等于在用ag.el+rg的组合.
rg.el
比ag
功能还是多不少,看看顶部的几个toggles,运行时可以随时切换,不必全部从来一次。
几个比较好用的命令:rg
, rg-dwim
, rg-project
, rg-literal
。 默认键绑定c-c s
color-rg
优势在哪儿,能介绍下么?如果这些包能上 melpa 会更好呀
感觉这是个人口味问题,就像flycheck作者不愿意加入elpa一样
pao ti le ya
这不是一回事吧,flycheck作者是因为不喜欢emacs维护团队文化拒绝加入elpa,cat和melpa团队也有冲突?
没有冲突。至于为什么不喜欢melpa,我不想把话放cat嘴里,就不乱说了。
我自己写的插件太多, 自己太懒, 不想那么多人骚扰我.
我不觉得 emacs 的插件代码一定要放到 melpa 和 elpa 才是唯一分享的方式.
我只说差异吧:
- rg.el 一旦改成分组模式显示分组, wgrep 就废了, color-rg.el 自己就包含了 rg.el 和 wgrep.el 功能, 不需要额外安装 wgrep.el
- 默认尽量少问问题, 快速搜索, 搜索后觉得需要缩小范围再动态过滤不想看的文件类型
- 默认智能的抓取当前光标处的单词, 而不仅仅是 symbol , 比如 CSS 的 class name, .foo 和 #foo 自动回转换成 foo 再搜索 (当然搜索之前都可以调), 避免大部分情况, 要各种删除 . 或者 # 才能搜索
- 如果正则表达式搜索错误以后, 会智能探测, 并用 literal 模式重新刷一遍 (这个 rg.el 没有)
- 如果搜索出来的东西需要全部从文件中删除, 直接 C-c C-D 行了, 具体的更多贴心命令看上面的 keymap 吧.
我自己可能有点强迫症,现在对可靠性和鲁棒性比较看重,经过群众检验的才愿意放心使用,对于用的人不多的,小众的,就需要仔细看一遍理解了代码甚至深度定制才行,因为很多次在欢快写代码的时候,突然遇到emacs某个插件的bug,被打断思路,这种体验比较不爽
赞同,有时间的话我还会自己改一遍
我都没遇见过…
color-rg有這四個組合就方便了:
- project or cwd
- symbol or input
我用的最多的是+ivy/project-search
(project+input)和+ivy/project-search-from-cwd
(cwd+input)。然後在ivy裏M-n
輸入當前symbol (這步操作有點繁瑣)
color-rg-mode
啓動時應該直接預覽第一個後選項。
f
F
在搜索結果裏進一步filter很有用。如果能unfilter就好了。
我現在的工作流:
ivy裏C-c C-o
(ivy-occur
)後c
(ivy-occur-toggle-calling
)也能達到j k上下預覽的效果,不過這些鍵有些繁瑣。
有时候搜索关键字不一定正确, 直接预览反而会干扰焦点.
color-rg 内置了 color-rg-search-project 和 color-rg-search-project-rails