ls
我为和cd
+自定义了目录和文件颜色TAB
。这是我的配置。
我的配置
我的系统环境。
Ubuntu 10.10
zsh 4.3.10 (x86_64-unknown-linux-gnu)
oh-my-zsh // http://git://github.com/robbyrussell/oh-my-zsh.git
Terminal
我的 .zshrc 在 $HOME 中。
// .zshrc
echo "Sourcing $0."
ZSH=$HOME/.oh-my-zsh
ZSH_THEME="josh"
source $ZSH/oh-my-zsh.sh
~/.oh-my-zsh/custom/completion.zsh 中的自定义 zsh 脚本
// completion.zsh
echo "Sourcing $0."
# Same completion colors when using cd as with ls.
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*:*:*:*:*' menu yes select
~/.oh-my-zsh/custom/theme-and-appearance.zsh 中的自定义 zsh 脚本
// theme-and-appearance.zsh
echo "Sourcing $0."
export LS_COLORS='di=1;34:ln=35:so=32:pi=0;33:ex=32:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=1;34:ow=1;34:'
问题描述。
当我第一次打开终端时,会获取 3 个文件。注意,确实.zshrc
出现了,但是不是及其路径或文件名。
Sourcing zsh.
Sourcing /home/john/.oh-my-zsh/custom/completion.zsh.
Sourcing /home/john/.oh-my-zsh/custom/theme-and-appearance.zsh.
使用该ls
命令,目录列表看起来与预期一致。不过,当我使用cd
命令和TAB
自动完成目录颜色时,目录颜色与ls
.
然后我再次获取配置。请注意,这次.zshrc
确实显示了其完整路径和文件名。我不确定这是否会导致此处解释的问题。
$ . ~/.zshrc
Sourcing /home/john/.zshrc.
Sourcing /home/john/.oh-my-zsh/custom/completion.zsh.
Sourcing /home/john/.oh-my-zsh/custom/theme-and-appearance.zsh.
现在ls
和cd
+TAB
使用相同的颜色。
问题
我如何更改我的配置,以便在打开终端应用程序时立即加载自定义内容?
答案1
问题在于文件的来源顺序。LS_COLORS
必须在运行之前定义zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
。
您可以通过将文件重命名为00theme-and-appearance.zsh
和 之类的名称来解决此问题01completion.zsh
。