zsh adiciona caractere de tabulação quando o preenchimento automático

3

Eu tenho o zsh 4.3.10 instalado em uma caixa RHEL 6.4. Não sei por que isso acontece, mas quando eu abordo o Tab para autocompletar coisas, também adiciona um caractere de tabulação.

Por exemplo:

rocket@rhelbox www % vim    vim
external command
----------------
vim vimdiff vimtutor

Então, quando eu digito V eu M Tab , depois da aba adiciona uma guia ao meu console e finaliza a ação de preenchimento automático. O comando funciona bem, é apenas irritante. Eu não posso retroceder para removê-lo também. Eu não sei o que está causando isso.

Aqui está o meu .zshrc :

# Initialize Autocompletion and Autocorrection
autoload -U compinit promptinit
compinit
promptinit
#prompt redhat
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'
zstyle ':completion::complete:*' use-cache 1
setopt correctall

# Custom PS1
autoload -U colors && colors
# http://www.understudy.net/custom.html#Z_color
fg_purple=$'\e[0;35m'
#PS1="%n@%m %c %% "
PS1="${fg_purple}%n@%m %{$fg[yellow]%}%c %% %{$reset_color%}"


# cd is automagically added
setopt autocd

# Save History
HISTSIZE=1000
SAVEHIST=1000
HISTFILE=~/.bash_history
setopt hist_ignore_all_dups

# Keybindings
bindkey "^[OH" beginning-of-line
bindkey "^[OF" end-of-line
bindkey '^?' backward-delete-char
bindkey "\e[3~" delete-char

# Aliases
alias ls="ls --color=auto"

# Set (SVN) Editor to vim
export SVN_EDITOR=vim
export EDITOR=vim
    
por Rocket Hazmat 31.07.2013 / 16:40

1 resposta

8

Isso provavelmente é causado pela configuração do prompt zsh confuso sobre onde o cursor está no terminal. Você incluiu caracteres de controle de terminal no seu prompt sem informar ao zsh que eles não aparecerão no terminal.

Isso precisa ser feito cercando essas partes do prompt com %{ e %} . Isso já foi feito ao definir a cor para amarelo e ao redefinir a cor, mas não foi feito onde você definiu a cor para roxo no início.

    
por 31.07.2013 / 16:57