Что это за экранирующие символы? - PullRequest
8 голосов
/ 07 июля 2011

Я пробую кофейный сценарий repl внутри Emacs (в ArchLinux) и вижу следующие экранирующие символы вокруг приглашения:

[1Gcoffee> [0K[9G

Это не должны быть цвета, так как я уже включил ansi-color-for-comint-mode. Так кто-нибудь узнает это?

P.S .: Забавно, у меня нет этой проблемы в моей настройке Emacs + Cygwin!

Ответы [ 2 ]

9 голосов
/ 07 июля 2011

Я не знаю, откуда они берутся (очевидно, что-то связанное с вашей подсказкой оболочки, но трудно сказать больше).

Я читаю их как:

  • ESC [1G - Перейти к столбцу 1 (Абсолютный символ курсора)
  • ESC [0K - Стереть вправо
  • ESC [9G - Перейти к столбцу 9

Похоже, что попытка оболочки убедиться, что приглашение находится слева от пустой строки.Не уверен, какая у вас оболочка, но zsh делает что-то похожее, когда включена опция PROMPT_SP.Я не думаю, что он использует вышеупомянутые последовательности, хотя.

Многие, многие , контрольные последовательности можно найти здесь .Обратите внимание, что последовательность « ESC [» интерпретируется как «Представитель управляющей последовательности» (CSI) и отображается так же на этой странице.

8 голосов
/ 10 июля 2011

У меня была та же проблема, и я смог ее решить, добавив

export NODE_NO_READLINE=1

в мой файл .bashrc.

Итак, похоже, что символы пришли из REPL CoffeeScriptиспользование Readline.Возможно, причина, по которой у вас не было проблемы в Cygwin, заключалась в том, что Readline там не был доступен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...