Нещодавно я читав Запуск оболонок в Emacs і витрачаю деякий час, щоб адаптувати мій продуманий підказку Zsh для роботи з обмеженими можливостями M-x shell
і M-x ansi-term
.
Після цих зусиль я тепер нарешті зможу використовувати Zsh з Emacs, однак є - хоч і незначна - неприємність M-x ansi-term
. Я завжди бачу бродячий текст 4m
перед підказкою.
Як бачимо, це явище, здається, не залежить від актуальної теми підказок. Він також відображається з будь-якими вбудованими підказками, навіть простими, у яких не використовуються будь-які фантазійні контрольні символи. Власне, це навіть трапляється із запитом за замовчуванням, тобто якщо я запускаю Zsh без мого .zshrc
.
Ну, це насправді лише незначна неприємність, і я не мав би зовсім проти, якби не зміг її позбутися - я в основному віддаю перевагу в M-x shell
будь-якому випадку, де це питання не виникає.
Але мене це справді дратує, що мені не вдалося знайти причину цієї проблеми, хоча я справді намагався її налагодити. Треба сказати, хоча, що моє розуміння терміналів досить обмежене, тому я, можливо, пропустив дуже очевидне.
Я в ОС X 10.10. Мій Emacs становить 25,0,50, створюйте прямо з магістралі з домашньою мовою, а спеціальних прапорів немає. Zsh становить 5,0,5, як і Yosemite, але ця проблема також виникає з 5.0.7, встановленим через Homebrew.
Чи може хтось пролити світло на це питання?
system-user-terminfo
нічого не змінив. Зміна $TERM
виправлена проблема, але це не може бути вирішенням, чи не так? Зрештою, це брехня, по суті: ansi-term
не xterm і, безумовно, не підтримує 256 кольорів.
\x1b[37;4m
визначає білий колір з 37, а підкреслений текст - 4. Я не можу відтворити вашу проблему. Мій zsh - 5.0.7, а "echo $ TERM" в ansi-терміні надає мені eterm color , мій emacs - 24.4.1 . Я перевіряв також чисту версію за замовчуванням 'env HOME = ~ / tmp / emacstest emacs -Q', і я не бачу проблем.
emacs -Q
Zsh і зовсім не мати її конфігурацію.