zsh 在自动补全时添加制表符

zsh 在自动补全时添加制表符

我在 RHEL 6.4 机器上安装了 zsh 4.3.10。我不确定为什么会发生这种情况,但是当我Tab自动完成事情时,它添加制表符。

例如:

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

因此,当我输入VIMTab后,Tab它会向我的控制台添加一个选项卡,然后完成自动完成操作。该命令运行良好,只是很烦人。我也无法退格来删除它。我不知道是什么原因造成的。

这是我的.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

答案1

这可能是由于您设置的提示混淆了 zsh 光标在终端中的位置。您已在提示中包含终端控制字符,但没有让 zsh 知道这些字符实际上不会显示在终端上。

%{这需要通过用和包围提示的这些部分来完成%}。这在将颜色设置为黄色和重置颜色时已经完成,但在开始将颜色设置为紫色时尚未完成。

相关内容