clone-indirect-buffer

在当前buffer中C-x 3后, 两个窗口显示同一个文件的内容

如果拿左边的buffer作为参考文件, 很不方便, 因为两边的操作是同步的, 在右边C-u tab一个heading左边也会跟着展开,
但是我只想用左边作为目录参考, 临时单独操作不影响右边的窗口.
M: (buffer-name)
返回结果是同一个buffer.

解决上面的问题, 可以用clone-indirect-buffer.

这时候在右边操作文档结构, 左边不受影响; 但是在左边输入内容, 右边也同步输入, 简直完美.

M-: (buffer-name) 返回buffer和buffer-2.

在第二个案例中, 为什么内容输入同步, 对heading的操作却恰好没有同步呢?

因为indirect buffer是帮你(手动)同步了buffer内容,两个buffer的状态当然是互相独立的,第一个例子里左右是一个buffer,只是同时显示在了两个window里,对它操作就会同时反映在两个window里了

所以, 对大文件, 开indirect narrow display部分内容, 会比较不卡?

有可能,不过想要不卡一般还是把这个buffer里比较吃资源的major/minor mode关掉

1赞

也许你需要imenu-list这个包

1赞