Terminal
奇怪的 5-characters-sequence 出現在 PuTTY 終端中,滑鼠點擊
在執行一些程序(配置)時,我的終端會搞砸。我的打字沒有顯示。我可以使用“stty sane”來修復它,但我注意到每當我在終端上點擊滑鼠(我使用 PuTTY)時,都會出現奇怪的字元。例如
# O:#O: O:#O: 7-#7- BE#BE ...
它們似乎是 5 個字元序列,如果我點擊相同的位置,則會出現相同的序列。
我知道我可以使用“重置”來修復它,但我想了解它們是什麼以及是否有辦法在不重置的情況下修復它。甚至可能有一種方法可以找到“配置”內部弄亂我的終端的根本原因。
這些是 xterm 風格的“滑鼠”事件。
printf
原則上,您可以使用合適的or關閉那些echo
,但reset
它已經作為終端描述中的rs1
orrs2
字元串的一部分(參見“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 禁用),只殺死滑鼠。
您看到這些是因為“某些程序”不會自行清理。