Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Emacs中跟踪标记后切换到原始缓冲区_Emacs - Fatal编程技术网

在Emacs中跟踪标记后切换到原始缓冲区

在Emacs中跟踪标记后切换到原始缓冲区,emacs,Emacs,我使用M-.跳转到类/函数的定义。有时,有多个类具有相同的标记,因此我需要使用C-u M-。跳转到多个文件,因此需要多个缓冲区。现在我的问题是,如何快速返回到原始缓冲区?我知道C-xb,但您需要输入缓冲区名称,或者它只是默认为您提供您访问的最后一个缓冲区,还有什么需要进一步说明的吗?例如,转到最后一个缓冲区的前一个缓冲区 我相信默认情况下,M-.调用find tag。您应该能够使用M-*(pop tag mark)返回位置堆栈 从C-h f查找标记: 按下表示调用此命令时的点的标记 安装在一个环

我使用
M-.
跳转到类/函数的定义。有时,有多个类具有相同的标记,因此我需要使用
C-u M-。
跳转到多个文件,因此需要多个缓冲区。现在我的问题是,如何快速返回到原始缓冲区?我知道
C-xb
,但您需要输入缓冲区名称,或者它只是默认为您提供您访问的最后一个缓冲区,还有什么需要进一步说明的吗?例如,转到最后一个缓冲区的前一个缓冲区

我相信默认情况下,
M-.
调用
find tag
。您应该能够使用
M-*
pop tag mark
)返回位置堆栈

C-h f查找标记

按下表示调用此命令时的点的标记 安装在一个环上,可以用
M-*
弹回到。将此与 指挥员打去的标记环

,在冰柱模式下绑定到
M-。
,结合了普通Emacs命令
M-。
find tag
)、
M-、
tags loop continue
)、
tags apropos
列表tags
的所有功能。它做的更多

您可以针对任何标记完成,在与附加模式匹配的标记子集之间循环(以不同的顺序),等等,在单个命令调用中访问多个标记。您可以按任意顺序选择要访问的标签,而不必按顺序访问每个标签

  • 您首先输入(使用
    RET
    )一个regexp,您感兴趣的所有标记都必须匹配(它可能是空的,以获取所有标记)

  • 然后,您可以键入标记子集和/或其源文件必须匹配的模式

    也就是说,默认情况下,您可以针对由标记本身及其源文件名组成的候选项完成

  • 您可以使用
    *完成*
    中的
    C-mouse-2
    选择要访问的候选人,或者使用
    down
    up
    在候选人姓名之间循环,然后使用
    C-RET
    访问

  • 您可以使用
    M-*
    冰柱弹出标记
    )返回原始位置。您也可以通过使用
    C-g
    来完成
    M-。
    调用来返回到它


  • 更多信息。

    我对此(以及其他类似情况)使用
    赢家模式

    (赢家模式1)
    添加到您的init文件中,然后当您希望返回到跳转到标记之前所处的窗口配置时,只需键入:

    C-C调用
    winner undo
    (根据需要重复多次)

    如果您访问了另一个缓冲区中的多个标记,这将使您在一个步骤中返回到原始缓冲区(或上一个缓冲区,无论如何),而不是逐个返回单个标记

    如果标签带您通过多个缓冲区,那么您需要为每个缓冲区键入一次C-C(或者,如果您走了相当长的弯路,则键入C-cC-xzzz:)