Cuando comienzo a hacer la pestaña autocompletar de un comando, guarda lo que inicialmente escribí junto a él y el comando no se puede leer. En el siguiente ejemplo, escribí 'git che' y presioné la pestaña. Una vez que selecciono 'pagar', el símbolo del sistema se convierte en 'git che git checkout'. El comando todavía funciona y en mi historial almacena 'git checkout'. Pero es bastante molesto visualmente. ¿Hay alguna forma de cambiar este comportamiento? Intenté esto en 2 emuladores de terminal diferentes, así que puedo confirmar su ZSH y no el emulador. GraciasZSH autocompletar tornillos nombre de comando
EDIT:
echo $ ZSH_VERSION
4.3.10
Eso no parece suceder con -f zsh. Aunque es difícil de decir ya que el único autocompletado que funciona es directorios. Estoy usando 'oh-my-zsh' con este tema personalizado:
autoload -U add-zsh-hook
add-zsh-hook chpwd do_ls_on_chdir
function do_ls_on_chdir() {
ls;
}
function dirStack(){
OUT='';
NUM=1;
for X in $(dirs | cut -d ' ' -f2-10); do
OUT="$OUT$1%B$NUM:%b$1$X ";
((NUM=NUM+1))
done
echo $OUT;
}
ZSH_THEME_GIT_PROMPT_ADDED=""
ZSH_THEME_GIT_PROMPT_MODIFIED=""
ZSH_THEME_GIT_PROMPT_DELETED=""
ZSH_THEME_GIT_PROMPT_RENAMED=""
ZSH_THEME_GIT_PROMPT_UNMERGED=""
ZSH_THEME_GIT_PROMPT_UNTRACKED=""
ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg_bold[yellow]%}↑"
ZSH_THEME_GIT_PROMPT_PREFIX=""
ZSH_THEME_GIT_PROMPT_SUFFIX=""
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg_bold[red]%}✗"
ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg_bold[green]%}✔"
local user_color='blue'
local back="${BG[237]}"
test $UID -eq 0 && user_color='red'
PROMPT='$(dirStack $back)
$back%B%!%b$back %{$fg_bold[$user_color]%}%~%{$reset_color%}'\
'$back $(git_prompt_status)%{$reset_color%}'\
'$back%{$fg_bold[magenta]%}$(git_prompt_info)%{$reset_color%}'\
'$back$(git_prompt_ahead)$reset_color'\
'$back%(!.#.>)$reset_color '
PROMPT2='%{$fg[red]%}%_ %{$reset_color%}'
PROMPT3='%{$fg[red]%}... %{$reset_color%}'
RPROMPT='%(?..%{$fg_bold[red]%}exit %?%{$reset_color%})'\
' %{$FG[186]%}(%D %*)%{$reset_color%}'
SOLUCIÓN:
NOTA: stackoverflow no me deja responder a mi propia pregunta desde que pedí dentro de las últimas 8 horas. No tengo ganas de esperar.
Así que lo descubrí. Resulta que no estaba escapando correctamente los códigos de color ANSI (creo). En todas partes tenía $ reset_color en mi variable PROMPT, lo cambié a% {$ reset_color%} y lo arreglaba.
¿Cuál es su versión de zsh ('echo $ ZSH_VERSION')? ¿Ves el mismo efecto si ejecutas 'zsh -f'? De lo contrario, publique los contenidos de sus archivos de configuración zsh ('~/.zshrc' y cualquier otro que haya personalizado). – Gilles