前言

发现了一个好用的命令行神器,linux和mac都可以使用,就是oh-my-zsh,这篇blog主要记录一下oh-my-zsh的安装、使用、配置。

效果预览:

使用zsh

  1. 查看当前使用的shell: echo $SHELL

  2. 查看当前安装的shell: cat /etc/shells

  3. mac使用brew安装zsh: brew install zsh;ubuntu使用apt安装:sudo apt install zsh -y

  4. 切换当前shell为zsh: zsh

安装oh-my-zsh

  1. 使用命令行安装:sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

  2. 修改主题:nano ~/.zshrc

    • 配置项 ZSH_THEME 即为 oh-my-zsh 的主题配置

    • oh-my-zsh 的 GitHub Wiki 页面提供了主题列表

    • 当设置为 ZSH_THEME=random 时,每次打开终端都会使用一种随机的主题。

  3. 更新配置: source ~/.zshrc

上面功能完成后,既可以使用oh-my-zsh了

配置

按照上面的步骤改完zsh,你会发现,并没有惊喜到无法表述的优点,那是因为精华部分在zsh形形色色的插件部分,下面介绍三个最常用的插件

自动补全插件incr

1
2
3
4
5
6
7
cd ~/.oh-my-zsh/custom/plugins/
mkdir incr
cd incr
wget http://mimosa-pudica.net/src/incr-0.2.zsh
nano ~/.zshrc
# 在配置文件中添加:source $ZSH/custom/plugins/incr/incr*.zsh
source ~/.zshrc

历史命令建议插件zsh-autosuggestions

1
2
3
4
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
nano ~/.zshrc
#修改plugins=(git zsh-autosuggestions)
source ~/.zshrc

代码高亮插件zsh-syntax-highlighting

1
2
3
4
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
nano ~/.zshrc
#修改plugins=(git zsh-syntax-highlighting)
source ~/.zshrc

优化

修正自动补全颜色看不见的问题

1
2
3
#修正自动补全颜色看不见的问题
nano ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
#修改ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'

粘贴过慢的问题

1
2
3
4
5
6
7
8
9
10
11
12
nano ~/.zshrc
#解决粘贴慢的问题
pasteinit() {
OLD_SELF_INSERT=${${(s.:.)widgets[self-insert]}[2,3]}
zle -N self-insert url-quote-magic # I wonder if you'd need `.url-quote-magic`?
}

pastefinish() {
zle -N self-insert $OLD_SELF_INSERT
}
zstyle :bracketed-paste-magic paste-init pasteinit
zstyle :bracketed-paste-magic paste-finish pastefinish