我的原始org文件很大,里面的内容是基于各级标题(也就是headline)来组织的。org原生了很多对标签,或者对全文的中灵活的检索功能。有没有只搜索headline的功能,搜到了直接定位到那个headline的位置上?
谢谢!
我的原始org文件很大,里面的内容是基于各级标题(也就是headline)来组织的。org原生了很多对标签,或者对全文的中灵活的检索功能。有没有只搜索headline的功能,搜到了直接定位到那个headline的位置上?
谢谢!
或者是我自己用正则表达式:“以一个*星号开头的,后面是我要检索的某个串”?
试试counsel-outline
解决了,爽!
谢谢,哈哈哈!
用正则表达式可以用
“*+ +.+foo”
来检索所有包含“foo”的headline(至少有一个*,后面至少有一个空格,后面有任意个任意字符,后面有一个foo),展开所有符合条件的headline(不展开headline的下级子树)。 因为这个结果是集合,所以不会定位光标到某个位置,需要自己移动光标。
3楼的朋友建议的方式,把全部headline列表出来,然后在这个结果集上增量检索(或者直接移动光标在结果集合上手动选择),最终可以精确定位到某一个的headline上,然后回车就到这个目标上面。这个是最满足需要的。赶快绑一个快捷键哈哈。
使用 counsel-imenu
貌似也可以。
ivy用shift+space貌似可以增量搜索
是的,可以的。不过我刚才试的
counsel-imenu
只搜索到level 2的headline。cunsel-imenu和imenu-list都是针对2级headline,refile默认也是操作2级的,这样也是有道理的:默认就到2级可以在各种操作后folded,提供这个基础框架。
谢谢站长的建议。
helm-imenu也是一个很好的选择,不知道counsel-imenu有没有设置headline级别的选项,在helm-imenu中,你可以通过设置级别来扩展或者缩小搜索的范围。
请问检索一个目录下所有文件的标题怎样比较快呢? obsidian我最喜欢的就是这个功能
谢谢建议,我现在还没有进入helm的世界,哈哈,我很菜的。
你好,我没有想过在org中怎么做这个检索,我可能会用shell命令来操作吧。obsidian我没有接触过,见笑啦!
应该可以自己写个函数收集所有headline,然后 ivy列出来,选择哪个就进入对应的文件中?
看你用啥, ivy, helm, consult 各有不同的方案
试了试, consult的确可以, 但速度还是太慢了, 大概收集起来要快10s, 一共有快10000个标题, 慢也不足为奇.
consult-org-heading