Questo è dispari. Ho definito il seguente messaggio in zsh
:Emacs multi-termine non visualizza correttamente caratteri speciali
local user_host='%{$terminfo[bold]$fg[green]%}%n @ %m%{$reset_color%}'
local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}'
local git_branch='$(git_prompt_info)%{$reset_color%}'
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
PROMPT="╭─${user_host} %D{[%a, %b %d %I:%M:%S]} ${current_dir} ${git_branch}
╰─%B$%b "
RPS1="${return_code}"
E funziona molto sulle gnome-terminal
così come in un terminale ansi-term
in Emacs (Mxansi-term
) - vedere l'esempio seguente:
Tuttavia, non funziona bene sotto multi-term
in Emacs come potete vedere qui sotto:
ho pensato multi-term
sarebbe in grado di interpretare lo stesso insieme di caratteri escape che un terminale come gnome-terminal
o ansi-term
fa. Perché non interpreta correttamente i caratteri di escape restituiti da git-prompt_info
e altri?
Ho anche provato:
- Mx
set-terminal-coding-system
e impostandolautf-8-unix
TERM=eterm-color
all'interno del terminale multifunzione termine, o prima della chiamata Emacs, eccTERM=
nel multi terminale di termine, o prima di chiamare Emacs, ecc.- Rimozione di qualsiasi
export TERM
dal mio.zshrc
Aggiornamento (29 gennaio 2014):
La soluzione migliore finora sembra essere quello di effettuare le seguenti operazioni:
TERM=xterm-256color
ma provoca un altro problema che ho qui riportato: Passing escape sequences to shells within ansi-term in Emacs.
Controllare la risposta qui per vedere se funziona. http://stackoverflow.com/questions/8918910/weird-character-zsh-in-emacs-terminal –
Grazie a @JesusRamos Ha funzionato alla grande per 'ansi-term'! Per qualche ragione non è sufficiente per Emacs 'multi-term' (che dovrebbe estendere ansi-term) ... Hmmm –
Ho smesso di usare multi-term e invece faccio semplicemente' M-x rename-buffer' me stesso. Funziona perfettamente in questo modo :) –