org 多窗口编辑操作请教

比如分成左右两个窗口,左边显示所有标题,右边显示当前标题的正文内容,并且,右窗口的内容是随着左窗当前光标行动态改变,这个操作要怎么实现呢?

求教,谢谢。

一个基本满足需求的办法:OP用过ivy-occur或者helm的类似插件吗?这里可以搜索标题的空格*空格之类的东西,然后会有个occur buffer,里面是所有搜索结果的链接,回车就在另一个window里跳到各个结果的原始位置了。ivy-occur的话有个follow mode,上下移动光标就会立即跳转。

1 个赞

是不是在找imenu-list?

1 个赞

可以使用 C-c C-x b

1 个赞

应该使用的 clone-indirect-buffer命令,将 Org 文件打开后,用正则匹配得到当前标题对应的 region 起始和结尾点,然后运行 clone-indirect-buffer-other-window创建副本 buffer,再 narrow-to-region 只显示当前标题的内容(类似 C-c ' org-edit-special 打开 org block 代码编辑一样)。

可以参考 AUCTex, 编辑 tex 文件就可以左边显示 outline tree,TAB 键在右侧窗口显示当前 section 内容,回车键则右侧窗口显示 section 内容并光标移动到该窗口。好久没用过这个包,安装了一下出错了。。。没办法提供截图 :joy:

1 个赞

失误,是 Emacs 自带的 reftex mode 提供的 TOC 跳转功能,打开 tex 文件后,M-x reftex-mode,菜单栏出现 Ref 字样,点击该下拉菜单的 “table of content”就可以使用 toc 了。空格为显示标题内容,但没有 narrow 动作。图片中设置了变量 reftex-toc-split-windows-horizontally 为 t.

可以参考 reftex 试试写功能

1 个赞