首页 > 解决方案 > zsh中“bat”的选项卡完成时“找不到命令”

问题描述

通常,当我对未定义完成的程序使用制表符完成时,它将默认为在文件上完成。但是,使用该bat命令,我得到如下所示的内容:

1010 ⮚ bat (eval):1: command not found: _bat
(eval):1: command not found: _bat
(eval):1: command not found: _bat
(eval):1: command not found: _bat
bat

我怎样才能让它像其他程序一样完成文件?

我的 zsh 配置的相关部分:

zstyle ':completion:*' completer _expand _complete _ignored
zstyle ':completion:*' format '%F{blue}%d%f'
zstyle ':completion:*:descriptions' format '%U%F{cyan}%d%f%u'
zstyle ':completion:*' menu select yes interactive
zstyle ':completion:*' select-prompt %SAt %p%s
zstyle ':completion:*' group-name ''
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.cache/zsh
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors
zstyle ':completion:*' matcher-list '' 'm:{[:lower:]}={[:upper:]}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
zstyle ':completion:*' max-errors 2 numeric
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,%cpu,tty,cputime,cmd"

标签: zshzsh-completion

解决方案


我不知道您使用的是哪个发行版,但官方 Debian 必须将bat可执行文件重命名为batcat。


推荐阅读