2017-01-13 26 views
1

我想在Emacs中完成以下行为,并想知道是否有现有的包已经做了我想要的。如何仅查看和编辑Emacs中的文本文件的一小部分

我希望我的缓冲区只显示文件myfile.txt中的第30行到第60行,并简单地从我这里隐藏文件的其余部分。

  • 当我向上滚动到顶部,我应该在管线30
  • 当我向下滚动至底部,我应该在管线60
  • 如果我编辑该区域中,这些编辑应该反映在原始文件中。
  • 当我插入/删除行时,该区域应该增大/缩小。
  • 我应该能够在不同的缓冲区中打开多个区域到同一个文件。

这非常接近我理想的工作流程。非常感谢您的帮助!

+1

除了最后一项要求外,您还有[缩小](https://www.gnu.org/software/emacs/manual/html_node/emacs/Narrowing.html)。 – Juancho

+1

对于最后一项要求,请检查[间接缓冲区](https://www.emacswiki.org/emacs/IndirectBuffers)。 – Juancho

回答

2

尝试库Narrow Indirectnarrow-indirect.el

它提供简单的命令来创建一个间接缓冲器,它是当前缓冲器的克隆和被缩小到它的一个特定部分。默认情况下,通过使用缓冲区名称前缀(默认为I-)并在模式行中为缓冲区名称使用不同的面,可帮助您区分这些间接缓冲区和非间接缓冲区。

+0

非常感谢! –

2

Narrowing,你可以点和标记之间缩小到与C-x n n,那么你将编辑在此区域受到限制,在那之后你只是加宽再次进行访问整个缓冲区C-x n w。也许这就是你寻找

相关问题