zsh #
参考来源 #
安装 #
在开始之前,用户可能想看看当前正在使用什么 shell:
$ echo $SHELL
sudo pacman -S zsh
初始配置 #
通过在终端中运行以下命令确保 Zsh 已正确安装:
$ zsh
现在您应该会看到zsh-newuser-install,它将引导您完成一些基本配置。如果您想跳过此步骤,请按q。如果您没有看到它,您可以使用以下命令手动调用它:
$ autoload -Uz zsh-newuser-install
$ zsh-newuser-install -f
注意:确保您的终端尺寸至少为 72×15,否则zsh-newuser-install将无法运行。
将zsh设置为默认shell #
要列出所有已安装的 shell,请运行:
$ chsh -l
并将其设置为用户的默认设置:
$ chsh -s /full/path/to/shell
提示:如果替换bash,用户可能需要将一些代码从~/.bashrc移到~/.zshrc(例如提示符和别名)以及从~/.bash_profile移到~/.zprofile(例如启动 X Window System 的代码)。
oh-my-zsh #
参考来源 #
安装 #
由于我使用arch linux,我使用pacman来管理包,所以我使用AUR仓库来安装oh-my-zsh
AUR地址:
https://aur.archlinux.org/packages/oh-my-zsh-git
除了使用包管理器,也可以使用官方安装脚本进行安装,详见:
更新 #
如果使用包管理器安装的ohmyzsh,只能通过包管理器自己手动更新。
如果使用官方安装脚本安装的ohmyzsh,可以使用官方说明的更新方式。
使用oh-my-zsh #
使用插件 #
你可以在wiki中了解当前可用的插件。
一旦发现想要在 Oh My Zsh 中使用的插件(或多个插件),就需要在.zshrc文件中启用它们。您会在$HOME目录中找到 zshrc 文件。使用您最喜欢的文本编辑器打开它,您会看到一个列出所有要加载的插件的位置。
vi ~/.zshrc
例如,这可能看起来像这样:
plugins=(
git
bundler
dotenv
macos
rake
rbenv
ruby
)
请注意,插件之间以空格(空格、制表符、换行符……)分隔。请勿在它们之间使用逗号,否则会中断。
另外,每个内置插件都有一个README文件,需要了解的话可以看看。
使用主题 #
你可以在wiki中了解当前可用的主题。
找到想要使用的主题后,您需要编辑~/.zshrc文件。您将在其中看到一个环境变量(全部大写),如下所示:
ZSH_THEME="robbyrussell"
要使用其他主题,只需更改值以匹配所需主题的名称。例如:
ZSH_THEME="agnoster" # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
笔记:
您会多次看到 zsh 主题的屏幕截图,并尝试一下,却发现它看起来不一样。
这是因为许多主题需要安装Powerline 字体或Nerd 字体才能正确呈现。如果没有它们,这些主题将呈现奇怪的提示符号。查看常见问题解答了解更多信息。
另外,请注意主题仅控制提示符的外观。这是您在光标前或光标后看到的文本,您将在其中键入命令。主题不控制诸如终端窗口的颜色(称为配色方案)或终端字体之类的内容。这些是您可以在终端仿真器中更改的设置。有关更多信息,请参阅什么是 zsh 主题。
oh-my-zsh常见问题 #
我如何重新加载 zshrc 文件? #
有两种方式:
- 重启终端
exec zsh
如何重置完成缓存? #
完成缓存文件(也称为 zcompdump 文件)是启动 zsh 会话时找到的完成函数的缓存。此文件在调用compinit时写入,并在 Oh My Zsh 启动时自动完成。它可以在$ZSH_COMPDUMP找到,通常在您的主目录中,名为.zcompdump-<host>-<zsh-version>。
如果该位置已经有一个文件,compinit则将读取它,而不是重新创建它,以获得更好的性能。当某些完成设置发生更改但完成缓存未发生更改时,这有时会造成问题,例如启用插件时。这就是为什么大多数完成问题都是通过重置缓存并重新启动 zsh 会话来解决的。
要重置它,您必须删除它并重新启动 zsh 会话以便再次重新创建它:
# Delete the completion cache
rm "$ZSH_COMPDUMP"
# Restart the zsh session
exec zsh
个人使用的主题和插件 #
主题 #
- macovsky
插件 #
- git
- z
starship #
安装 starship 包:
sudo pacman -S starship
将以下内容添加到 ~/.zshrc 的末尾:
eval "$(starship init zsh)"
配置:
starship preset nerd-font-symbols -o ~/.config/starship.toml
使提示符中间没有行:
add_newline = false
路径截断设置:
[directory]
# ...
truncation_length = 5
语法高亮和自动建议 #
安装 zsh-syntax-highlighting 和 zsh-autosuggestions 包:
sudo pacman -S zsh-syntax-highlighting zsh-autosuggestions
配置:
~/.zshrc
---------------------------------------------------------------------------------
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh