终端可点击的相对文件路径超链接

终端可点击的相对文件路径超链接

我发现 ctrl 单击file:///full-path-to-file终端中程序打印的超链接(例如到 stdout)会假定完整路径,以便在配置的默认编辑器中打开文件。

有没有一种方法可以等效地具有超链接相对的路径,在终端?必要的语法是什么?

答案1

相对路径的固有问题是:相对路径到什么

相对于终端模拟器的直接子级的工作目录(通常:您的 shell)按住 Ctrl 键并单击时几乎毫无用处,一旦你cd离开,所有链接都会断开。

您至少需要的是相对于子进程的目录在发出文本时。这会带来一些问题。首先,终端仿真器需要了解其子级的工作目录(例如通过 OSC 7 序列,或像 iTerm2 中的一些更紧密的 shell 集成),然后在执行内部更改其工作目录的实用程序期间,该目录仍然可能不正确(例如make)。此外,模拟器需要记住每个打印字符单元的这些信息,这可能非常昂贵。


您可能会对某些终端仿真器的一项非常新的功能感兴趣:显式超链接。使用特殊序列,可见文本可以变成指向任何位置的超链接。超链接的目标仍然需要指定为绝对 URI,但显示的文本可以是您想要的任何内容(可能只是一些相对路径名,甚至完全不同的东西)。

相关内容