我不想在 zsh tab-completion 的建议中看到颜色。它们让我的阅读变得更加困难。我怎样才能做到这一点?
这是我的.zshrc
:
# _
# _______| |__
# |_ / __| _ \
# / /\__ \ | | |
# /___|___/_| |_|
#
# install oh-my-zsh
[ ! -d ~/.oh-my-zsh ] && git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
# install zsh-autosuggestion
autosuggestions="/home/enan/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh"
[ ! -f "$autosuggestions" ] && git clone https://github.com/zsh-users/zsh-autosuggestions $HOME/.zsh/zsh-autosuggestions
[ -f "$autosuggestions" ] && source "/home/enan/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh"
# oh-my-zsh config
export ZSH=/home/enan/.oh-my-zsh
ZSH_THEME=""
DISABLE_LS_COLORS="true"
DISABLE_AUTO_TITLE="true"
export UPDATE_ZSH_DAYS=13
source $ZSH/oh-my-zsh.sh
plugins=( git )
bindkey '^P' up-line-or-beginning-search
bindkey '^N' down-line-or-beginning-search
# Personal customization
BASE16_SHELL=$HOME/.config/base16-shell/
[ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)"
executables="/home/enan/Executables/bin"
[ -d "$executables" ] && [[ ":$PATH:" != *$executables* ]] && export PATH=$executables:${PATH}
# FZF settings
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
export FZF_DEFAULT_OPTS='--height 100% '
alias ls='ls -CF --color=none'
alias ll='ls -AlF'
alias la='ls -AF'
alias refresh='source ~/.zshrc'
alias screenfetch='screenfetch -t'
alias i3lock='sh ~/Git-repos/dotFiles/lock.sh'
alias emacs='emacs -nw'
alias v='nvim'
alias py2=python2
alias py3=python3
alias t='sh ~/Git-repos/dotFiles/tmux.sh'
# zsh prompt with git info
git_branch() {
git branch --no-color 2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ \1/'
}
git_status() {
# + changes are staged and ready to commit
# ! unstaged changes are present
# ? untracked files are present
# $ changes have been stashed
# ↑ local commits need to be pushed to the remote
local state="$(git status --porcelain 2>/dev/null)"
local output='['
[[ -n $(egrep '^[MADRC]' <<<"$state") ]] && output="$output+"
[[ -n $(egrep '^.[MD]' <<<"$state") ]] && output="$output!"
[[ -n $(egrep '^\?\?' <<<"$state") ]] && output="$output?"
[[ -n $(git stash list) ]] && output="$output$"
[[ -n $(git log --branches --not --remotes) ]] && output="$output↑"
[[ -n $output ]] && output="$output]"
echo $output
}
git_prompt() {
# First, get the branch name...
local branch=$(git_branch)
# Empty output? Then we're not in a Git repository, so bypass the rest
# of the function, producing no output
if [[ -n $branch ]]; then
local state=$(git_status)
# Now output the actual code to insert the branch and status
if [ $state = '[]' ]; then
echo -e " $branch"
else
echo -e " $branch %{$fg_bold[red]%}$state"
fi
fi
}
PROMPT='%{$fg[blue]%}[%n@%m] %{$fg[magenta]%}%c%{$fg[yellow]%}$(git_prompt)
%(?:%{$fg[green]%}❯ :%{$fg[red]%}❯ )%{$reset_color%}'
和截图:
查看cd <tab>
屏幕截图中终端左窗格的最后一个命令。
答案1
使用纯 zsh:
zstyle ':completion:*' list-colors
相反,要使用与命令相同的颜色ls
:
eval "$(dircolors)"
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
这甚至应该适用于 oh-my-zsh,但 oh-my-zsh 有时有它自己的做事方式,我还没有使用 oh-my-zsh 进行测试。