代码拆分成多个文件
编写代码时会将代码拆分成多个文件,而不是讲所有代码都放在同一个文件内。否则,代码量大的话,就很难管理,很难快速找到自己该进行编辑的地方。在VS Code这类GUI编辑器中,会有文件导航栏,以方便快速切换文件。
文章也应该拆分成章节编辑,不互相干扰
而写文章的时候,有和写代码同样的问题。如果文章太长、章节层次多:
- 每次编辑的时候都需要先大幅度上下翻阅一下,才能找到自己应该插入新内容的位置;
- 而且编辑一个章节的时候,前后章节的内容仍然会出现,会有干扰。
focus
org-mode下的org-narrow-to-subtree功能可以将编辑界面聚焦到当前章节,不显示前后的章节,正是我想要的功能。
但是切换章节就不怎么方便了,需要先退出org-narrow-to-subtree,然后将光标逐渐移动到另外一个章节,再org-narrow-to-subtree。比较麻烦。
加一个大纲的导航栏
我希望org-mode具有org-narrow-to-subtree功能的同时,在编辑界面左侧有个导航栏。当点击某个章节,编辑界面就聚焦到这个章节,不显示其他相同等级的章节。
求助
Emacs社区这么大,发展这么久,普通的需求常常好几年前就有人实现了。之前在mac环境下特别喜欢可以彻底摆脱鼠标的NV(Notation Velocity)编辑器,后来用上Emacs,我想NV的功能完全可以通过一个插件在Emacs上实现,结果还真找到了,然后一直在使用,非常喜欢。
所以求助社区里的朋友,有没有见过实现我这个需求的插件。
点击章节之后,虽然可以跳转到这个章节,但是前后的章节仍然会显示
我期望能够隐藏前后的章节,减少干扰
et2010
6
treemacs 也可以。如果楼主既要显示文件树,又要显示大纲,用 treemacs 就可以了。
cireu
8
我去体验了一下,开启narrow后treemacs的跳转功能直接失效
简单来说,我感觉楼主的需求应该是比较简单的:就是在org的多个header里面跳来跳去。
- 选择的时候可以选择全文所有的header。
- 跳到对应的header的时候,就直接narrow到它。
其实综合一下上面大家的回答就可以了。
尝试了一下,跟我的需要很接近。
但是不能它只能展示二级标题,不能显示三级标题……
这个问题,可以自己设置,比如这样设置为可以显示三级:
(setq org-imenu-depth 3)
使用imenu的时候,如果当前是narrow状态,跳转不能成功。
其实就是在imenu蹐之前调一下widen,跳成功后,再narrow一下就可以了。
我用的ivy,所以我直接把 counsel-imenu
拿来改了一下,我试了一下是可以的:
(defun peng-org-special-imenu ()
"Jump to a buffer position indexed by imenu."
(interactive)
(unless (featurep 'imenu)
(require 'imenu nil t))
(let* ((imenu-auto-rescan t)
(imenu-auto-rescan-maxout (if current-prefix-arg
(buffer-size)
imenu-auto-rescan-maxout))
(items (imenu--make-index-alist t))
(items (delete (assoc "*Rescan*" items) items))
(items (counsel-imenu-categorize-functions items)))
(ivy-read "imenu items: " (counsel-imenu-get-candidates-from items)
:preselect (thing-at-point 'symbol)
:require-match t
:action (lambda (candidate)
(with-ivy-window
;; In org-mode, (imenu candidate) will expand child node
;; after jump to the candidate position
(widen) ; 这里先widen
(imenu (cdr candidate)) ; 这里跳转
(org-narrow-to-subtree) ; 这里再次narrow
))
:keymap counsel-imenu-map
:caller 'counsel-imenu)))
顺便说下,之前搞ivy的时候,搞过中文的匹配。我给它写了个wiki 在这里。
如果楼主配置成功了,可以直接以中文的拼音前缀来匹配中文。连输入法都不用切换啦
2 个赞
imenu-list-after-jump-hook
1 个赞