Zsh
從 zsh tab-completion 中刪除顏色
我不想在 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>
螢幕截圖中終端的左窗格最後一個命令。
使用純 zsh:
zstyle ':completion:*' list-colors
相反,要使用與命令相同的顏色
ls
:eval "$(dircolors)" zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
這甚至可以使用 oh-my-zsh,但是 oh-my-zsh 有時有自己的做事方式,而且我還沒有使用 oh-my-zsh 進行測試。