Terminal

奇怪的 5-characters-sequence 出現在 PuTTY 終端中,滑鼠點擊

  • December 2, 2021

在執行一些程序(配置)時,我的終端會搞砸。我的打字沒有顯示。我可以使用“stty sane”來修復它,但我注意到每當我在終端上點擊滑鼠(我使用 PuTTY)時,都會出現奇怪的字元。例如

# O:#O: O:#O: 7-#7- BE#BE ...

它們似乎是 5 個字元序列,如果我點擊相同的位置,則會出現相同的序列。

我知道我可以使用“重置”來修復它,但我想了解它們是什麼以及是否有辦法在不重置的情況下修復它。甚至可能有一種方法可以找到“配置”內部弄亂我的終端的根本原因。

這些是 xterm 風格的“滑鼠”事件。printf原則上,您可以使用合適的or關閉那些echo,但reset它已經作為終端描述中的rs1orrs2字元串的一部分(參見“infocmp”的輸出)。

reset例如使用這個:

   rs1=\Ec,                                                                
   rs2=\E[!p\E[?3;4l\E[4l\E>,

並且更喜歡後者(前者是硬重置)。是\E轉義字元。副手,第一個塊rs2\E\[!p是一個軟重置,它通常會重置滑鼠以及大多數其他有用的東西。一個 printf 將是

printf '\033[!p'

這比打字更多

reset

echo(即使您使用一些知道的非標準\E)。但是關於箭頭鍵的評論:軟重置使游標鍵回到正常模式,而 vi 認為它們處於應用程序模式。

要僅禁用滑鼠,請查看以下輸出infocmp -x

XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,

這告訴 ncurses 如何啟用/禁用滑鼠。您的終端描述不完全是that,而是您的範例顯示1000正常滑鼠模式。所以…你可以這樣做

printf '\033[?1000l'

(小寫 L 禁用),只殺死滑鼠。

您看到這些是因為“某些程序”不會自行清理。

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