Di recente ho letto Running Shells in Emacs e ho trascorso un po 'di tempo ad adattare il mio elaborato prompt di Zsh per lavorare con le capacità limitate di M-x shell
e M-x ansi-term
.
A seguito di questo sforzo, sono finalmente in grado di usare Zsh da Emacs, ma c'è un fastidio, sebbene minore, con M-x ansi-term
. Vedo sempre il testo smarrito 4m
prima del prompt.
Come puoi vedere, questo fenomeno sembra essere indipendente dal tema attuale. Appare anche con qualsiasi prompt integrato, anche quelli semplici che non usano alcun personaggio di controllo. È un dato di fatto, succede anche con il prompt predefinito, vale a dire se avvio Zsh senza il mio .zshrc
.
Bene, in realtà è solo un piccolo fastidio, e non mi dispiacerebbe davvero se non fossi in grado di liberarmene, preferisco M-x shell
comunque comunque, dove questo problema non si verifica.
Ma mi dà davvero fastidio il fatto che non sono stato in grado di trovare la causa di questo problema, anche se ho davvero cercato di eseguire il debug. Devo dire, tuttavia, che la mia comprensione dei terminali è piuttosto limitata, quindi potrei aver perso l'ovvio.
Sono su OS X 10.10. My Emacs è 25.0.50, costruito direttamente dal bagagliaio con Homebrew e senza bandiere speciali. Zsh è 5.0.5, incluso in Yosemite, ma il problema si verifica anche con 5.0.7 installato tramite Homebrew.
Qualcuno può fare luce su questo problema?
system-user-terminfo
non ha cambiato nulla. La modifica ha $TERM
risolto il problema, ma non può essere la soluzione, vero? Dopotutto, è una bugia, in sostanza: ansi-term
non è un xterm e sicuramente non supporta 256 colori.
\x1b[37;4m
specifica un colore bianco con 37 e il testo sottolineato con 4. Non riesco a riprodurre il problema. Il mio zsh è 5.0.7 e 'echo $ TERM' in termini ansi mi dà eterm color , il mio emacs è 24.4.1 . Ho provato anche a pulire la versione predefinita 'env HOME = ~ / tmp / emacstest emacs -Q' e non vedo alcun problema.
emacs -Q
e senza alcuna configurazione Zsh.