Emacs 使用组织速度缩小到子树
我想使用org velocity作为浏览大型Emacs 使用组织速度缩小到子树,emacs,elisp,org-mode,Emacs,Elisp,Org Mode,我想使用org velocity作为浏览大型.org文件的主要方式,但有以下更改: 在OrgVelocity中运行搜索后,我希望一旦我做出选择,缓冲区会自动缩小到该子树 OrgVelocity应该对整个文件运行搜索,即使缓冲区缩小了 对于第(1)部分,我认为这样做应该有效: (添加hook'org follow link hook(lambda()(org窄到子树))) 但这不是正确的钩子。不知道如何接近(2)。有什么想法吗?谢谢 我正在为问题的第(2)部分写一个部分答案,因为下面的评论不太合适
.org
文件的主要方式,但有以下更改:
(添加hook'org follow link hook(lambda()(org窄到子树)))
但这不是正确的钩子。不知道如何接近(2)。有什么想法吗?谢谢 我正在为问题的第(2)部分写一个部分答案,因为下面的评论不太合适。请注意,我没有使用
org-velocity
。因此,以下内容并没有经过真正的测试。
save restriction
将当前缩小保存到组织子树,并在搜索过程中临时删除此缩小。要了解其具体工作原理,请阅读有关使用C-h f的功能保存限制和加宽的帮助,并查阅elisp
的信息C-h i以及“建议功能”部分
(defadvice组织速度(搜索全部激活)
“使用组织速度扩大搜索范围”
(保留限制)
(加宽)
做它
))
我正在为问题的第(2)部分写一个部分答案,因为以下内容与评论不太相符。请注意,我没有使用org-velocity
。因此,以下内容并没有经过真正的测试。
save restriction
将当前缩小保存到组织子树,并在搜索过程中临时删除此缩小。要了解其具体工作原理,请阅读有关使用C-h f的功能保存限制和加宽的帮助,并查阅elisp
的信息C-h i以及“建议功能”部分
(defadvice组织速度(搜索全部激活)
“使用组织速度扩大搜索范围”
(保留限制)
(加宽)
做它
))
好的,我想我有一个完整的解决方案
请确保已安装此org velocity分支:
打开org-velocity.el文件并将第763-765行替换为:
(progn
(with-current-buffer (org-velocity-match-buffer)
(kill-buffer-and-window))
(org-narrow-to-subtree)
(show-all))))))
附加的代码告诉OrgVelocity首先将缓冲区缩小到所选子树,然后扩展该节点
将此代码放在搜索路径的某个位置(init.el、.emacs等)
就这样
谢谢托拜厄斯、保罗和马修带我走过这段路
保重,
-亚当好吧,我想我有一个完整的解决方案
请确保已安装此org velocity分支:
打开org-velocity.el文件并将第763-765行替换为:
(progn
(with-current-buffer (org-velocity-match-buffer)
(kill-buffer-and-window))
(org-narrow-to-subtree)
(show-all))))))
附加的代码告诉OrgVelocity首先将缓冲区缩小到所选子树,然后扩展该节点
将此代码放在搜索路径的某个位置(init.el、.emacs等)
就这样
谢谢托拜厄斯、保罗和马修带我走过这段路
保重,
-Adam对于(2)您可以使用带有保存限制和加宽的环绕建议。谢谢你的评论!您能详细说明一下吗?对于(2)您可以使用带有save restriction
和extended
.Tobias的环绕建议。谢谢你的评论!你能详细解释一下吗?太棒了!谢谢托拜厄斯!!不过我要做一个改变:删除保存限制。否则,OrgVelocity将无法在当前节点之外导航(假设文档开始的范围缩小到这一点)。@Adam您尝试过吗?对我来说,它看起来不错。你得到一个匹配的缓冲区,你可以选择一个在匹配点上得到一个新的缓冲区。如果您完成了,请按C-C-C,并从哪里开始(包括旧的限制)。我不知道这是否是通缉犯的行为。是的,我试过了。这样做:打开一个组织文件,缩小到标题100,然后C-C v运行org velocity并搜索另一个标题,比如标题32。Org velocity发现了这一点,因此您点击[RET]。但如果保留了“保存限制”,则该功能将阻止您导航到航向100以外的位置(因为您之前已将航向缩小到这一点)。因此,我所做的就是使用你的函数并删除“保存限制”,它工作得很好。另外,你可能正在使用不同版本的OrgVelocity。这就是我用的:太棒了!谢谢托拜厄斯!!不过我要做一个改变:删除保存限制。否则,OrgVelocity将无法在当前节点之外导航(假设文档开始的范围缩小到这一点)。@Adam您尝试过吗?对我来说,它看起来不错。你得到一个匹配的缓冲区,你可以选择一个在匹配点上得到一个新的缓冲区。如果您完成了,请按C-C-C,并从哪里开始(包括旧的限制)。我不知道这是否是通缉犯的行为。是的,我试过了。这样做:打开一个组织文件,缩小到标题100,然后C-C v运行org velocity并搜索另一个标题,比如标题32。Org velocity发现了这一点,因此您点击[RET]。但如果保留了“保存限制”,则该功能将阻止您导航到航向100以外的位置(因为您之前已将航向缩小到这一点)。因此,我所做的就是使用你的函数并删除“保存限制”,它工作得很好。另外,你可能正在使用不同版本的OrgVelocity。这是我正在使用的: