ターミナルクリック可能な相対ファイルパスハイパーリンク

ターミナルクリック可能な相対ファイルパスハイパーリンク

file:///full-path-to-fileターミナルでプログラムによって印刷されたハイパーリンク(stdoutなど)をCtrlキーを押しながらクリックすると、設定されたメインエディタでファイルを開くためのフルパスが想定されています。

ハイパーリンクを同等に持つ方法はありますか?比較的パス、ターミナル?必要な構文は何ですか?

答え1

相対パスの本質的な問題は次のとおりです。何を

ターミナルエミュレータ(通常はシェル)の直系子に関連する作業ディレクトリCtrlキーを押しながらクリックしたときほとんど役に立たない。いったん離れると、cdすべてのリンクが切断されます。

少なくとも必要なのは、サブプロセスに関連するディレクトリです。文字を送るとき。これはいくつかの問題を引き起こします。まず、ターミナルエミュレータは子の作業ディレクトリを知る必要があります(たとえば、OSC 7シーケンスやiTerm2などのより密なシェル統合を介して)。その後、内部的に作業ディレクトリを変更するユーティリティを実行している間、そのディレクトリはまだ正確ではありません(たとえばmake)。さらに、シミュレータは印刷された各文字単位についてこの情報を覚えておく必要があります。これは非常に高価です。


一部の端末エミュレータの新機能に興味があるかもしれません。明示的なハイパーリンク。特殊シーケンスを使用すると、表示されるテキストを任意の位置を指すハイパーリンクに置き換えることができます。ハイパーリンクの宛先はまだ絶対URIとして指定する必要がありますが、表示されるテキストは必要なもの(相対パス名でも完全に異なるものでもよい)にすることができます。

関連情報