设置 oh-my-zsh 有点久了,但没有写相关博客文章. 有赖于使用的命令自动补全插件,比起默认的 bash,现在我的 VPS 使用更加方便了. 内容有:安装 oh-my-zsh, powerlevel10k, zsh-syntax-highlighting,zsh-autosuggestions, 开启 instant prompt.
在朋友的推荐下,我也试了 fish shell,也把 fish shell 的设置写下来.
各个发行版的系统默认 shell 都是 bash,bash 只有一个颜色,而且没有命令补全功能. oh-my-zsh 和 fish 安装其中一个就好了.
选择一:oh-my-zsh 和 powerlevel10k
按照 oh-my-zsh github 仓库的安装步骤,需要先安装 zsh, curl 或者 wget, git. 除了 zsh, 别的我的 VPS 都有了. 安装 zsh,并验证安装完成
安装 zsh
sudo apt install zsh
zsh --version
设置 zsh 为默认 shell
chsh -s $(which zsh)
如果设置有问题,可以采取设置默认 shell里提到的替代方法
测试默认 shell 是否修改完成
echo $SHELL
$SHELL --version
输出分别类似
/bin/zsh
和zsh 5.8
,就没有问题如果有问题,在
~/.bashrc
的最后添加一行exec zsh
安装 oh-my-zsh
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh
安装 powerlevel10k
下载 zsh 主题 powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
主题和插件的增加修改,都在这里.
nano ~/.zshrc
设置主题
ZSH_THEME="powerlevel10k/powerlevel10k"
安装 zsh-autosuggestions
oh-my-zsh 自带有命令自动补全,但 zsh-autosuggestions 插件根据历史输入命令的记录建议补全,然后按 → 键即可补全,所以我还另外安装了 zsh-autosuggestions.
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
打开 ~/.zshrc
, 添加 zsh-autosuggestions 插件
plugins=(
# 其它插件
zsh-autosuggestions
)
安装 zsh-syntax-highlighting
Linux Zsh 使用 oh-my-zsh 打造高效便捷的 shell 环境 一文,提到了 zsh-syntax-highlighting 插件. zsh-syntax-highlighting 会在语法错误时,显示红色,提供语法检查.
git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
打开 ~/.zshrc
, 添加插件
plugins=(
# 其它插件
zsh-autosuggestions
zsh-syntax-highlighting
)
开启 instant prompt
如果插件较多,zsh 加载会很慢. 而 instant prompt 功能开启后,将不必等待 zsh 加载,就可以使用 shell. 打开 ~/.zshrc
,在最上面添加以下内容:
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
完成 instant prompt 开启.
选择二:fish-shell
安装 fish
sudo apt install fish
fish # 这一句是查看 fish shell 的效果
设置 fish 为默认 shell
如果你为 root 用户安装的 fish,照着 fish tutorial 就好:
echo /usr/local/bin/fish | sudo tee -a /etc/shells
chsh -s /usr/local/bin/fish
如果你为别的用户安装 fish:
echo /bin/fish | sudo tee -a /etc/shells
sudo chsh -s /bin/fish
测试默认 shell 是否修改完成
echo $SHELL
$SHELL --version
输出分别类似
/usr/bin/fish
和fish, version 3.5.1
,就没有问题