Настраиваемое приглашение командной строки, не работающее с ansi-term
Я использую Emacs ansi-term
какое-то время, и обычно это работает, более или менее. Недавно, однако, ansi-term начал интерпретировать символы на правой стороне моего терминала как часть команд, которые я печатаю. Вот код для моего приглашения (используя oh-my-zsh):
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}$(get_pwd) %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} %{$reset_color%}'
function get_pwd() {
print -D $PWD
}
return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
RPROMPT='${return_code} %{$fg_bold[cyan]%}$(rvm-prompt)%{$reset_color%}$(git_prompt_status)%{$reset_color%}'
ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"
#GIT_PS1_SHOWUPSTREAM=verbose
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚"
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹"
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖"
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜"
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭"
Вот как это выглядит:
➜ ~/.emacs.d git:(master) ruby-2.1.0 ✖ ✹ ✭
И вот что делает ansi-term:
➜ ~/.emacs.d git:(master) ✗ ls 2 ↵ ruby-2.1.0 ✖ ✹ ✭
ls: cannot access 2: No such file or directory
ls: cannot access ↵: No such file or directory
ls: cannot access ruby-2.1.0: No such file or directory
ls: cannot access ✖: No such file or directory
ls: cannot access ✹: No such file or directory
ls: cannot access ✭: No such file or directory
Я не уверен, что случилось, что вызвало бы эту проблему, хотя я недавно обновил все свои пакеты. Есть ли обходной путь?