参考文章
前言
之前学习Laravel的时候,经常要切换git分支,然而现有的shell里面不显示分支状态总是要用git st
,git br -a
显得很是麻烦,于是到网上查找方案:
一开始找到是修改~/.bashrc文件,可是修改完之后总是shell显示总是会出现这样那样的小错误,无奈之下寻找其他方案,这下让我找到大神器:
oh-my-zsh
废话不多说,进入正题
安装
首先交代下我的系统是ubuntu16.04LTS
安装zsh
sudo apt install zsh
安装oh-my-zsh
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
小修改
默认的主题设置我就已经很满意了,唯一的缺点是这个主题的git分支的颜色是综合显得很怪,感觉好像哪里有问题似得,所以我小修改了一下
vi ~/.oh-my-zsh/themes/robbyrussell.zsh-theme
第四行
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[green]%}"
也就是把red改成green了,哈哈
主题效果如图:
配置
上述已经实现了基本的要求,但如果需要更多的功能,还要对~/.zshrc文件进行配置
主题设置
主题修改如图
具体效果看链接:https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
插件修改如图
常用插件推荐:
插件介绍:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
-
last-working-dir
可以记录上一次退出命令行时候的所在路径,并且在下一次启动命令行的时候自动恢复到上一次所在的路径。
-
wd
它的作用就是能够快速的切换到常用的目录。
例如:访问nginx目录/usr/share/nginx/html/
进入这个目录,执行wd add www···将当前目录映射为www 每次只需要执行wd www就可以进入/usr/share/nginx/html/ 还可以使用wd rm删除已有映射 使用wd show```查看已有映射 -
catimg
他可以将图片的内容输出到命令行中catimg demo.jpg
zsh-syntax-highlighting
安装方法:git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
-
zsh-autosuggestions
它可以记录输入过的命令并给予建议
安装方法:git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
-
sudo
连按两次Esc添加或去掉sudo
extract
功能强大的解压插件
例如:需要解压demo.tar.gz
执行x demo.tar.gz
autojump安装与配置
最近发现了autojump,配合zsh使用起来简直是神器的存在,所以放在最后:
强烈推荐
安装autojump
mac下安装
brew install autojump
ubuntu下安装
sudo apt install autojump
编辑.zshrc文件
在plugins里面添加autojump
plugins=(git autojump)
然后在文件最后一行添加
[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh
最后返回命令行输入
source ~/.zshrc
大功告成,以后要到哪个目录直接
j + 目录名(支持智能补全,模糊查询)