2011-09-21 12 views
6

Non importa che uso termine o ANSI termine per avviare zsh in Emacs, ho incontrato questo problema, ogni volta che i comandi sono di ingresso, l'uscita avrà alcuni caratteri spazzatura come:zsh in caratteri spazzatura in uscita Emacs

[rubino 1.9.2] ~ pwd 2; pwd1; pwd/Users/tyraeltong

"2; pwd1; pwd" sta avvitando l'uscita, non so se altri hanno riscontrato lo stesso problema? Ho trovato un thread simile qui Getting Emacs ansi-term and Zsh to play nicely ma da [[$ TERM == eterm-color]] & & export TERM = xterm Vedo ancora i caratteri indesiderati.

+0

Si tratta di un problema causato direttamente o indirettamente da qualcosa nel tuo '.zshrc'. Probabilmente una cattiva impostazione del prompt, o una che fa ipotesi ingiustificate sul terminale in cui è in esecuzione. Pubblica il tuo '.zshrc'. – Gilles

+2

In realtà non ho effettuato alcuna personalizzazione nel mio .zshrc, invece, ho appena usato .oh-my-zsh: https://github.com/robbyrussell/oh-my-zsh –

+1

Ho lo stesso problema (oh- my-zsh) –

risposta

0

Potrebbe essere un PROMPT_COMMAND errato con sintassi di bash. Prova:

export PROMPT_COMMAND="" 

e vedere se questo aiuta.

+0

Questo non aiuta ... –

5

Emacs non giocare piacevole con ZLE, quindi non ho questo nel mio ~/.zshrc:

if [[ -n ${INSIDE_EMACS} ]]; then 
    # This shell runs inside an Emacs *shell*/*term* buffer. 
    prompt walters 
    unsetopt zle 
fi 
+0

Grazie per la risposta, ma con questa impostazione, vedo ancora i bit aggiuntivi, ad esempio: 2; LS -G -lhF1; lstotal 72 –

+0

Hm, è impostato INSIDE_EMACS? Ad esempio, esegui 'M-x shell' in emacs e' echo $ INSIDE_EMACS' li dentro. Dovrebbe produrre qualcosa come "24.0.97.1, Comint". In caso contrario, allora quella variabile non è impostata da emacs (forse perché il tuo emacs è troppo vecchio ?!). In tal caso, potresti cambiare il test in '[[$ {TERM} ==" dumb "]]' che dovrebbe funzionare anche. –

+0

Ah, e potresti anche aver bisogno di questo nel tuo ~/.emacs: '(add-hook 'shell-mode-hook' ansi-color-per-comint-mode-on)' –

1

trovato la soluzione in the related post mentioned earlier

In poche parole, in emacs M-x package-install ed installare multi- termine. M-x multi-term prende il via da un guscio, con tutte le campane & fischietti oh-my-zsh ha da offrire

Problemi correlati