如何防止奇怪的转义字符出现在提示符下

How do I prevent strange escape chars from appearing on prompt

我在 windows 7 上使用 Cygwin 薄荷 2.3.6 (x86_64-pc-cygwin)

随机出现 [28~ 会出现在我的提示行中。有时它甚至会在我正在输入命令时出现。即使终端 window 没有焦点,它也经常出现。

这真的很难 google,因为 google 只看到了 28。我将不胜感激有关如何改进我的 google-fu 以搜索特定序列的建议.

这可能是由 Caffeine 等应用程序引起的,它会通过周期性地按一个键(例如具有 ansi 序列 \[[28~ 的 F15)来停止屏幕保护程序。您可以停止程序或在 ~/.inputrc 中添加一个条目以忽略该序列。在 ~/.inputrc 添加行:

"\e[28~":""

将 F15 重新映射到终端中的任何内容。

郑重声明,还有两种其他方法可以解决此问题:

  1. 防止 F15 在 mintty 端被解释:将以下行添加到您的 mintty 配置文件中(例如 ~/.minttyrc)。它告诉 mintty 忽略 F15 本身或使用 Ctrl 修饰符,这对我有用(在我的机器上,它会自己产生 ~,使用 Ctrl,;5~):

    KeyFunctions=F15:void;C+F15:void
    
  2. 使用 -useshift 选项 运行 防止 Caffeine 发送 F15。