在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:)