【发布时间】:2019-02-22 16:47:13
【问题描述】:
我使用 Emacs 和修订跟踪器(perforce)来处理与工作相关的事情。
我有许多(~10)个不同的 Perforce 客户端,它们都具有相同的文件结构。我想使用通用命令导航到 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 内部工作的解决方案,尽可能减少 Emacs 和命令行之间的切换。
【问题讨论】:
标签: emacs navigation directory bookmarks