如何在 Emacs 中只查看和编辑文本文件的一小部分
How to view and edit only a small part of a text file in Emacs
我想在 Emacs 中完成以下行为,并且想知道是否有一个现有的包已经完成了我想要的操作。
我希望我的缓冲区仅显示文件 myfile.txt 中的第 30 行到第 60 行,并且对我隐藏文件的其余部分。
- 当我向上滚动到顶部时,我应该在第 30 行。
- 当我向下滚动到底部时,我应该在第 60 行。
- 如果我编辑这个区域,这些编辑应该反映在原始文件中。
- 区域应该grow/shrink和我insert/delete行一样。
- 我应该能够打开多个区域到不同缓冲区中的同一个文件。
这非常接近我理想的工作流程。非常感谢您的帮助!
尝试库 Narrow Indirect (narrow-indirect.el
)
它提供了简单的命令来创建一个间接缓冲区,它是当前缓冲区的一个克隆,并且缩小到它的特定部分。默认情况下,它通过使用 buffer-name 前缀(默认 I-
)和使用不同的面对模式行中的缓冲区名称。
Narrowing,你可以缩小到C-x n n
之间的点和标记,然后你编辑的内容将被限制在这个区域,然后你就可以加宽整个缓冲区再次 C-x n w
。也许这就是您要找的东西
为了补充其他答案,如果您专门处理 org 文件,您还有 following commands :
C-x n s
(org-narrow-to-subtree
) : 将缓冲区缩小到当前子树。
C-x n w
(widen
) : 加宽缓冲区以消除变窄。
如果您使用的是块 (‘#+BEGIN’ … ‘#+END) :
C-x n b
(org-narrow-to-block
) : 将缓冲区缩小到当前块。
我想在 Emacs 中完成以下行为,并且想知道是否有一个现有的包已经完成了我想要的操作。
我希望我的缓冲区仅显示文件 myfile.txt 中的第 30 行到第 60 行,并且对我隐藏文件的其余部分。
- 当我向上滚动到顶部时,我应该在第 30 行。
- 当我向下滚动到底部时,我应该在第 60 行。
- 如果我编辑这个区域,这些编辑应该反映在原始文件中。
- 区域应该grow/shrink和我insert/delete行一样。
- 我应该能够打开多个区域到不同缓冲区中的同一个文件。
这非常接近我理想的工作流程。非常感谢您的帮助!
尝试库 Narrow Indirect (narrow-indirect.el
)
它提供了简单的命令来创建一个间接缓冲区,它是当前缓冲区的一个克隆,并且缩小到它的特定部分。默认情况下,它通过使用 buffer-name 前缀(默认 I-
)和使用不同的面对模式行中的缓冲区名称。
Narrowing,你可以缩小到C-x n n
之间的点和标记,然后你编辑的内容将被限制在这个区域,然后你就可以加宽整个缓冲区再次 C-x n w
。也许这就是您要找的东西
为了补充其他答案,如果您专门处理 org 文件,您还有 following commands :
C-x n s
(org-narrow-to-subtree
) : 将缓冲区缩小到当前子树。
C-x n w
(widen
) : 加宽缓冲区以消除变窄。
如果您使用的是块 (‘#+BEGIN’ … ‘#+END) :
C-x n b
(org-narrow-to-block
) : 将缓冲区缩小到当前块。