some user Asked: 2021-12-02 16:43:17 +0800 CST2021-12-02 16:43:17 +0800 CST 2021-12-02 16:43:17 +0800 CST 奇怪的 5-characters-sequence 出现在 PuTTY 终端中,鼠标单击 772 在运行一些程序(配置)时,我的终端会搞砸。我的打字没有显示。我可以使用“stty sane”来修复它,但我注意到每当我在终端上单击鼠标(我使用 PuTTY)时,都会出现奇怪的字符。例如 # O:#O: O:#O: 7-#7- BE#BE ... 它们似乎是 5 个字符序列,如果我单击相同的位置,则会出现相同的序列。 我知道我可以使用“重置”来修复它,但我想了解它们是什么以及是否有办法在不重置的情况下修复它。甚至可能有一种方法可以找到“配置”内部弄乱我的终端的根本原因。 terminal putty 1 个回答 Voted Best Answer Thomas Dickey 2021-12-02T16:49:00+08:002021-12-02T16:49:00+08:00 这些是 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 禁用),只杀死鼠标。 您看到这些是因为“某些程序”不会自行清理。
这些是 xterm 风格的“鼠标”事件。
printf
原则上,您可以使用合适的or关闭那些echo
,但reset
它已经作为终端描述中的rs1
orrs2
字符串的一部分(参见“infocmp”的输出)。reset
例如使用这个:并且更喜欢后者(前者是硬重置)。是
\E
转义字符。副手,第一个块rs2
,\E\[!p
是一个软重置,它通常会重置鼠标以及大多数其他有用的东西。一个 printf 将是这比打字更多
echo
(即使您使用一些知道的非标准\E
)。但是关于箭头键的评论:软重置使光标键回到正常模式,而 vi 认为它们处于应用程序模式。要仅禁用鼠标,请查看以下输出
infocmp -x
:这告诉 ncurses 如何启用/禁用鼠标。您的终端描述不完全是that,而是您的示例显示
1000
的正常鼠标模式。所以...你可以这样做(小写 L 禁用),只杀死鼠标。
您看到这些是因为“某些程序”不会自行清理。