‹ 指南

點擊終端機裡的連結 v26.1.6+

終端機裡印出來的網址可以直接點,不管印它的程式有沒有特意標記。Term 會先讓你看清目標,然後在應用內開啟。

需要 Term v26.1.6 或更新版本。

撰寫於

先看清,再開啟

點螢幕上任意一個網址,Term 會先問一句,並把即將開啟的完整位址顯示出來。你同意之前,不會發出任何請求。

這一步不是為了增加操作。螢幕上的文字來自遠端,而一個你並不完全信任的遠端可以印任何東西 —— 所以唯一值得保證的,就是你看到的是真正的目標位址,在請求發出之前。

終端機上方的確認對話框,顯示確切的網址,帶取消和開啟
螢幕上那行是 see https://docs.github.com/en ok,對話框裡恰好只有網址。周圍的詞不屬於連結 —— 見最後一節。

不必是「真正的」超連結

終端機程式可以把文字標記成連結(那個轉義序列叫 OSC 8),標記了的話,Term 開啟的是它宣告的目標 —— 那可能和你看到的文字不一樣。但幾乎沒有程式這麼做:echo 出來的、編譯器報錯裡的、git remote、從別處貼進來的,都只是普通字元。這些 Term 也能認出來。

包括網址太長、折到下一行的情況。點其中任意一半,開啟的都是完整位址。

確認對話框顯示一個在終端機裡被拆成兩行的完整網址
螢幕上這個位址在 tar. 之後斷開,對話框裡是完整的。

在 Term 內開啟

連結在 Term 自帶的瀏覽器裡開啟,而不是把你交給別的應用 —— 這是為了你的工作階段,不是為了留住你。離開 Term 會讓它進入背景,而背景應用保住 SSH 工作階段的時間遠不到一分鐘。看一個網頁,不該讓你丟掉正在用的 shell。

頂欄會寫明你在哪個站點。我們自己的頁面顯示 const.net 並帶一個藍色印記;其他站點顯示完整主機名稱,含子網域 —— 因為那才是告訴你真正在跟誰打交道的部分。右側按鈕可以隨時把頁面交給系統瀏覽器。

Term 應用內瀏覽器的頂欄,顯示頁面標題和主機名稱
一個第三方頁面:完整主機名稱,沒有印記。你的工作階段還在它後面運行著。

如果連結是下載

很多連結其實是檔案 —— 發佈包、.deb、PDF。Term 沒有地方存放它們,所以與其開啟一個永遠不出現的頁面,不如把下載交給系統瀏覽器(它有下載管理器),然後自己退開。

判斷依據是伺服器怎麼說,而不是從位址猜 —— 只有這樣才判斷得準:下面這個發佈包,路徑中間含 tar.gz,結尾什麼也沒有;而很多普通網頁反而以看著像檔案的後綴結尾。

系統瀏覽器的下載對話框,檔案名稱為 koko-master.tar.gz
交出去了,名字有了,可以下載 —— 而不是應用裡的一個空白頁。

例外是透過連接埠轉發開啟的頁面,它只在應用內存在 —— 別的瀏覽器根本載入不了。這種情況下 Term 會告訴你這是個下載,並留在原處,而不是把一個註定悄悄失敗的位址交出去。

哪些不算連結

網址周圍那句話的標點不屬於它。位址後面的句號會被留下;括號只有在它的左半邊也在位址裡時才保留 —— 所以 (https://x.dev/a) 開啟的是網址,而 https://x.dev/a(b) 會帶著自己的括號。

另外,光是一個主機名稱不算連結:www.example.com 或 example.com 點了沒反應。這是刻意的。文字裡到處都是點號,而點開錯誤的東西比點了沒反應更糟 —— 凡是能複製貼上的網址,本來就帶著 https://。