相关疑难解决方法(0)

ZSH自动完成拧紧命令名称

当我开始执行命令的选项卡自动完成时,它会保留我最初键入的内容并且命令变得不可读.在下面的示例中,我输入了'git che'并点击了标签.一旦我选择'checkout',命令提示符就会变成'git che git checkout'.该命令仍然有效,在我的历史中它存储'git checkout'.但它在视觉上很烦人.无论如何都要改变这种行为.我在2个不同的终端仿真器中尝试了这个,所以我可以确认它的ZSH而不是模拟器.谢谢

截图

编辑:

echo $ ZSH_VERSION
4.3.10

它似乎与zsh -f无关.虽然很难说,因为唯一有效的自动完成功能是目录.我在这个自定义主题中使用'oh-my-zsh':

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;
Run Code Online (Sandbox Code Playgroud)

}

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'\ …
Run Code Online (Sandbox Code Playgroud)

shell zsh autocomplete zshrc

6
推荐指数
1
解决办法
3011
查看次数

标签 统计

autocomplete ×1

shell ×1

zsh ×1

zshrc ×1