Ubuntu 安装zsh配置 oh-my-zsh autojump 和美化

[TOC]

安装 zsh

sudo apt-get install zsh

检查当前的shell有那些

cat /etc/shells

检查当前shell为

echo $SHELL

设置zsh

chsh -s $(which zsh)
# 需要输入root的密码,如未设置过,使用
sudo passwd root

登出再登录后,检查当前的shell是否为zsh

安装 on my zsh

自动安装 https://github.com/robbyrussell/oh-my-zsh

wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

手动安装

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

登出再登录后,检查当前的shell 是否配置正确

配置 oh-my-zsh

在配置文件 ~/.bash_profile 中加入

# alias base
alias ll='ls -alGh'
alias la='ls -a'
alias l='ls -CF'
alias cls='clear'
alias gs='git status'
alias gc='git commit'
alias gqa='git add .'
# alias docker
alias dkst="docker stats"
alias dkps="docker ps"
alias dklog="docker logs"
alias dkpsa="docker ps -a"
alias dkimgs="docker images"
alias dkcpup="docker-compose up -d"
alias dkcpdown="docker-compose down"
alias dkcpstart="docker-compose start"
alias dkcpstop="docker-compose stop"

为了便于管理,用户环境变量整合在 ~/.bash_profile 因为 zsh 不会加载 bash_profile 中的配置,故需要单独加载
使用编辑器打开 .zshrc 在最后加入配置

# 如果.zshrc已经配置后面很多不需要配置, bash_profile 不需要配置
source ~/.bash_profile

配置生效

source ~/.zshrc

插件设置

修改 ~/.zshrc 文件中plugins=(git) 这个部分
这个是本人的插件

plugins=(
  git
  zsh_reload
  zsh-autosuggestions
  zsh-syntax-highlighting
  sudo
  cp
  ubuntu
  yum
  pip
  autojump
  docker
  docker-compose
  golang
  npm
  bower
  adb
)

注意 pip 以下的插件请按需安装

查看插件

ls $ZSH/plugins
ls $ZSH/plugins | grep [pluginsName]

可以在插件在最前面加 ! 表示禁用插件

主题设置

修改 ~/.zshrc 文件中ZSH_THEME="robbyrussell" 这个部分

ZSH_THEME="dst"

或者查看主题 ls ~/.oh-my-zsh/themes 输入 .zsh-theme 之前的部分

autojump 设置

sudo apt-get install autojump

不过这种安装方式无法初始化,换源码安装

$ git clone https://github.com/wting/autojump wting/autojump
cd wting/autojump
./install.py

会提示(这个提示每次都不一样,建议看运行的结果)

    [[ -s /home/sinlov/.autojump/etc/profile.d/autojump.sh ]] && source /home/sinlov/.autojump/etc/profile.d/autojump.sh
    autoload -U compinit && compinit -u

添加如下到 ~/.zshrc
或者如果使用 bash ,添加到 ~/.bashrc

[[ -s ~/.autojump/etc/profile.d/autojump.bash ]] && . ~/.autojump/etc/profile.d/autojump.bash
autoload -U compinit && compinit -u

注意这里的提示会根据你当前的电脑有各种改变,请按提示为准!!!
重新加载环境变量就可以用 j [各种短写路径] 跳转, tab 键提示有奇效

  • error
# 出现这种错误
_arguments:450: _vim_files: function definition file not found
# 删除
rm ~/.zcompdump*
exec zsh

zsh 美化

主题预览
https://github.com/robbyrussell/oh-my-zsh/wiki/External-themes
其中主题 robbyrussell dst agnoster duellj 可以尝试一下

自动提示命令zsh-autosuggestions

输入命令时,终端会自动提示你接下来可能要输入的命令

  • 克隆仓库到本地 ~/.oh-my-zsh/custom/plugins 路径
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

~/.zshrc 中添加

plugins=(
  zsh-autosuggestions
)

可能看不到变化,可能你的字体颜色太淡

vim ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh

修改 ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10' 多试验几次直到满意为止

语法高亮

$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  • 然后在 ~/.zshrc 中加入插件
plugins=(
  zsh-syntax-highlighting
)

推荐阅读更多精彩内容