Roc*_*mat 4 prompt zsh terminal autocomplete
我在 RHEL 6.4 机器上安装了 zsh 4.3.10。我不确定为什么会发生这种情况,但是当我Tab要自动完成内容时,它还会添加一个制表符。
例如:
rocket@rhelbox www % vim vim
external command
----------------
vim vimdiff vimtutor
Run Code Online (Sandbox Code Playgroud)
因此,当我输入时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
Run Code Online (Sandbox Code Playgroud)
这可能是由于您设置的提示使 zsh 混淆了光标在终端中的位置所致。您在提示中包含了终端控制字符,而没有让 zsh 知道这些字符实际上不会显示在终端上。
这需要通过用%{
和包围提示的那些部分来完成%}
。这在将颜色设置为黄色和重置颜色时已经完成,但在开始将颜色设置为紫色时尚未完成。