Terminal

我可以在終端模擬器中使字元不可複制嗎?

  • May 3, 2019

我使用自定義樣式執行 fish(在 gnome-terminal 中),它為我提供了有關目前 Git 儲存庫的資訊:

在此處輸入圖像描述

這一切都很好,但是當我想複製粘貼一些命令及其輸出時,如下所示:

在此處輸入圖像描述

想得到_

$ du -sh . 
1012K   .

代替

$ du -sh .            0⚹  0↺  0🗴 0≡   🜉 master 
1012K   .

另一個案例是從啟用行號的 vim 之類的編輯器進行複制——這是背後的一大痛點。

有什麼方法可以防止在終端中選擇/複製某些字元?


FWIW,我知道某些樣式將插入符號移至下一行:

<gutter left>           <gutter right>
$ <caret>

雖然是一種功能性的解決方法,但這不是我想要的。

不,這對於命令及其輸出是不可能的。終端模擬器複製螢幕上的任何內容。您需要分兩步進行複制粘貼:一次用於命令,一次用於輸出。終端可以通過允許選擇不連續的文本區域來使其更容易,就像 Firefox 在 Ctrl+點擊時所做的那樣,但我不知道有任何終端實現了這一點。

至於文本編輯器和行號,只要是複製文本的終端模擬器,這仍然是不可能的。但是,在這裡使用編輯器本身的複制功能(通過鍵盤或滑鼠)可能更有意義。編輯器不僅可以跳過行號,還可以包括在右邊距被切掉的部分文本,保留TAB字元,保留其他不可列印的控製字元等。

引用自:https://unix.stackexchange.com/questions/516921