【问题标题】:How to view and edit only a small part of a text file in Emacs如何在 Emacs 中仅查看和编辑文本文件的一小部分
【发布时间】:2017-05-29 05:33:42
【问题描述】:

我想在 Emacs 中完成以下行为,并且想知道是否有一个现有的包已经可以满足我的需求。

我希望我的缓冲区只显示文件 myfile.txt 中的第 30 到 60 行,而对我隐藏文件的其余部分。

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

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

【问题讨论】:

标签: emacs editor regions


【解决方案1】:

尝试库Narrow Indirect (narrow-indirect.el)

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

【讨论】:

    【解决方案2】:

    Narrowing,您可以缩小到点之间并用C-x n n标记,然后您编辑的内容将被限制在该区域内,之后您只需加宽以使整个缓冲区再次可访问C-x n w。也许这就是你要找的东西

    【讨论】:

      【解决方案3】:

      为了补充其他答案,如果您正在处理 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) : 将缓冲区缩小到当前块。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多