跨emacs内的不同修订树的目录导航到目录的最快方法



我使用emacs和一个修订跟踪器(perforce)进行与工作有关的事物。

我有许多(〜10)个不同的客户端,以使所有这些都具有相同的文件结构。我想制作通用命令,以导航到Emacs中这些客户端内的目录。

但是,客户端路径是不同的。我想使跨目录的导航独立于客户名称;相反,应动态确定客户名称。

例如,这是我客户的各种途径:

/home/scratch/client1/hw/unit1/
/home/scratch2/client2/hw/unit2/
/home/scratch3/client3/hw/unit1/

您可以看到,每个客户端的路径都会有所不同,尽管遵循相同的结构。在每个客户端中,文件结构都是相同的。因此,每个客户的单元文件将具有相同的结构(即ip/src/或某些等效路径)

我看到了许多用于将目录迅速访问的解决方案,但是我需要在所有有略有不同路径的客户中动态起作用的东西。当前,如果我使用书签功能,它将将我的整个客户端路径复制到目录,而不是基于我当前的客户端的路径。

对我来说,这意味着我需要动态确定客户端位置的东西,然后在每个客户端中显示相同的书签文件。

所以,说我希望以下三个书签目录根据我所在的当前客户端显示:

/path/to/client/ip/src/bin
/path/to/client/ip/src/etc
/path/to/client/ip/src/inc

我该如何在emacs中执行此操作,以便根据我启动emacs的位置动态地弄清客户端路径(/path/to/client/),然后将客户端内的实际路径附加到客户端路径(ip/src/bin)。

注意:我确实有bash别名快速导航到独立于客户端名称的目录。但是我想通过在Emacs内部工作的解决方案来最大程度地减少EMAC和命令行之间的切换。

  1. 是环境变量中当前客户端的路径吗?如果是这样,则可以在find-file输入的内容中使用该变量。它将在完成期间扩展。

  2. 调用Emacs本身的目录是可变invocation-directory的值。如果您的客户端位置很容易从该位置确定("客户端路径(/path/to/client/),则根据我启动的emacs的位置动态地弄清楚),则可以定义一个命令,该命令读取文件(或目录)在您的客户端目录中名称。

对于#2,您的"客户端路径( /path/to/client/)...根据[您]启动emacs的位置动态地弄清楚?如果您显示该代码,则其余的应该很琐碎。

相关内容

  • 没有找到相关文章

最新更新