Niedawno przeczytałem Uruchamianie pocisków w Emacsie i spędziłem trochę czasu, aby dostosować mój skomplikowany monit Zsh do pracy z ograniczonymi możliwościami M-x shell
i M-x ansi-term
.
Po tym wysiłku jestem w końcu w stanie korzystać z Zsh z poziomu Emacsa, jednak z pewną niedogodnością M-x ansi-term
. 4m
Przed monitem zawsze widzę zbłąkany tekst .
Jak widać, zjawisko to wydaje się być niezależne od faktycznego podpowiedzi. Pojawia się również z dowolnymi wbudowanymi monitami, nawet tymi prostymi, które nie używają żadnych fantazyjnych znaków kontrolnych. W rzeczywistości dzieje się tak nawet z domyślnym monitem, tzn. Jeśli uruchomię Zsh bez mojego .zshrc
.
Cóż, to naprawdę tylko niewielka uciążliwość i nie miałbym nic przeciwko, gdybym nie był w stanie się go pozbyć - i M-x shell
tak wolę przede wszystkim tam, gdzie ten problem nie występuje.
Ale naprawdę denerwuje mnie, że nie udało mi się znaleźć przyczyny tego problemu, mimo że naprawdę próbowałem go debugować. Muszę jednak powiedzieć, że moje rozumienie terminali jest raczej ograniczone, więc mogłem przeoczyć to, co oczywiste.
Korzystam z systemu OS X 10.10. My Emacs ma 25.0.50, buduj prosto z bagażnika z Homebrew, bez specjalnych flag. Zsh to 5.0.5, tak jak w Yosemite, ale problem występuje również w wersji 5.0.7 zainstalowanej przez Homebrew.
Czy ktoś może rzucić światło na ten problem?
system-user-terminfo
nic nie zmieniłem. Zmiana $TERM
rozwiązała problem, ale to nie może być rozwiązanie, prawda? W końcu to kłamstwo, w gruncie rzeczy: ansi-term
nie ma Xtermu i zdecydowanie nie obsługuje 256 kolorów.
\x1b[37;4m
Określa biały kolor z 37 i podkreślony tekst z 4. Nie mogę odtworzyć twojego problemu. Mój zsh to 5.0.7, a 'echo $ TERM' w ansi-term daje mi eterm-kolor , moje emacs to 24.4.1 . Przetestowałem również czystą domyślną wersję „env HOME = ~ / tmp / emacstest emacs -Q” i nie widzę żadnych problemów.
emacs -Q
konfiguracją Zsh i wcale.