这些shell转义字符是什么?

时间:2011-07-07 02:02:27

标签: shell emacs coffeescript

我在Emacs(在ArchLinux下)尝试咖啡脚本代码,我看到这些提示符周围的转义字符:

[1Gcoffee> [0K[9G

这些不应该是我已启用ansi-color-for-comint-mode的颜色。那么有人认识到这些吗?

P.S。:有趣的是我在Emacs + Cygwin设置下没有这个问题!

2 个答案:

答案 0 :(得分:9)

我不知道它们来自哪里(显然,与你的shell提示有关,但很难说更多)。

我将它们视为:

  • ESC [1G - 移至第1列(光标字符绝对)
  • ESC [0K - 擦除右侧
  • ESC [9G - 转到第9列

它看起来像shell尝试确保提示位于空行的最左侧。不确定您拥有什么shell,但zsh在启用PROMPT_SP选项时执行类似操作。但我不认为它使用上述序列。

可以找到许多许多控制序列here。请注意,序列“ ESC [”被解释为“控制序列介绍人”(CSI),并显示在该页面上。

答案 1 :(得分:8)

我遇到了同样的问题,并且能够通过添加

来解决它
export NODE_NO_READLINE=1

到我的.bashrc文件。

因此,这些字符似乎来自CoffeeScript REPL对Readline的使用。也许你在Cygwin没有问题的原因是因为那里没有Readline。