在emacs中重构大文件

在emacs中重构大文件,emacs,refactoring,bookmarks,Emacs,Refactoring,Bookmarks,我正在Emacs的一个文件中重构一大块代码 在一个大的emacs缓冲区中,简化跳转到多个位置的最佳方法是什么? 目前我正在使用搜索(C-S)和自定义注释-“标记”。 这变得非常不可靠 理想情况下,我希望在多个缓冲区中打开同一个文件,以便使用C-X B在它们之间切换 您的解决方案是什么?请参阅 转到特定书签会自动切换到正确的缓冲区(书签与缓冲区关联)。 看来你要找的是 就我个人而言,我发现拆分我的窗口(C-x2)是一个很大的帮助 我也想到了 寄存器用于标记和跳转到位置。如果您在任何时候都只需要标记

我正在Emacs的一个文件中重构一大块代码

在一个大的emacs缓冲区中,简化跳转到多个位置的最佳方法是什么? 目前我正在使用搜索(C-S)和自定义注释-“标记”。 这变得非常不可靠

理想情况下,我希望在多个缓冲区中打开同一个文件,以便使用C-X B在它们之间切换

您的解决方案是什么?

请参阅

转到特定书签会自动切换到正确的缓冲区(书签与缓冲区关联)。

  • 看来你要找的是

  • 就我个人而言,我发现拆分我的窗口(
    C-x2
    )是一个很大的帮助

  • 我也想到了


寄存器用于标记和跳转到位置。如果您在任何时候都只需要标记和记住少量的点,那么使用单字符寄存器可能比使用命名书签更快

  • C-xrSPC运行
    指向寄存器
  • C-xrj运行
    跳转到寄存器
当提示输入寄存器时,您可以键入任何字符。

使用。无需在每次创建书签时指定名称,只需按一个键即可。与使用C-SPC设置标记类似,但书签(默认情况下)是持久的;标记不是


使用,您还可以将书签(包括自动命名的书签)组织成多个集合等。例如,可以用多种方式对它们进行标记。

视觉书签在这种情况下非常有用。您可以获取它,也可以使用

M-x package-install RET bm
并将其添加到您的配置中

(global-set-key (kbd "<f5>") 'bm-toggle)
(global-set-key (kbd "<f7>") 'bm-next)
(global-set-key (kbd "<f6>") 'bm-previous)
(全局设置键(kbd“”)“bm切换)
(全局设置键(kbd“”)'bm next)
(全局设置键(kbd“”)“bm上一个)
现在,在文件中的任何位置按
f5
,它会在那里创建一个标记。如果要删除它,只需再次按
f5


您可以创建任意数量的标记,现在使用
f6
f7
您可以快速转到所需的任何点。

使用克隆间接缓冲区(通常使用
C-x 4 C
)时,有时,我发现将克隆的缓冲区缩小到我感兴趣的区域也很有用,
C-xnn
寄存器很好,但有点通用。就像书签一样。只需使用4个chrod就可以跳转到另一个chrod,这太麻烦了。您可以随时使用自定义绑定来减少按键次数。老实说,我通常可以使用本地和全局标记环,尽管现在我正在考虑,类似于标记寄存器的东西会很方便——转换为环,并提供简单的循环。