ubuntu配置zsh和Oh My Zsh

工作了一段时间,有了些许积蓄,忍痛买了Macbook Pro,真香…Mac上理所当然的配置了zs,平时工作是在Ubuntu环境下,折腾了一番,终于也在Ubuntu的终端下配置了zsh,再次真像,大大提高工作效率。

1 安装zsh

1.1 安装zsh

对于一般的Ubuntu系统,配置好正确的源之后,就能直接键入以下命令安装:

sudo apt-get install zsh

1.2 配置zsh

zsh的配置是一门大学问,这里不赘述,直接给出一个配置文件,大家可以下载后放入zsh配置文档直接使用。(我的一个法国朋友手配的,相当顺手)

把.zshrc拷贝到相应用户的home目录即可
(也可以把你的bash的配置文件(/.bash_prorile或者/.profile等)给拷贝到zsh的配置文件~/.zshrc里,因为zsh兼容bash)

1.3 取代bash,设为默认shell

sudo usermod -s /bin/zsh username
或者

chsh -s /bin/zsh
chsh -s `which zsh`

如果要切换回去bash:
chsh -s /bin/bash

当然你实在不愿意把zsh当成默认的shell, 而又想使用它, 那么你可以每次进入是都使用zsh进入, 而输入exit退出

2 安装oh-my-zsh

2.1

直接用zsh会很蛋疼,因为zsh功能很强大但是太复杂,所以需要oh-my-zsh来将它简单化

直接用git从github上面下载包

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
1
备份已有的zshrc, 替换zshrc

cp ~/.zshrc ~/.zshrc.orig
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

直接使用脚本安装

cd oh-my-zsh/tools
./install.sh

你可以直接直接使用如下命令安装

curl

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

wget

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

其本质就是下载并执行了github上的install.sh脚本, 该脚本位于oh-my-zsh/tools/install.sh

2.2 配置主题

备份已有的zshrc, 替换zshrc

cp ~/.zshrc ~/.zshrc.orig
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

oh-my-zsh集成了大量的主题, 位于oh-my-zsh/theme

配置主题, 可以通过修改~/.zshrc中的环境变量ZSH_THEME来完成

ZSH_THEME="agnoster" # (this is one of the fancy ones)

如果你觉得主题太多你可以选择使用随机模式, 来由系统随机选择

ZSH_THEME="random" # (...please let it be pie... please be some pie..)

推荐主题: agnoster

由于这个主题使用了一些特殊字符,需要安装字体:

sudo apt-get install fonts-powerline

2.3 配置插件

修改~/.zshrc中plugins

plugins=(git bundler osx rake ruby)

详细的插件信息, 可以参见zsh插件Plugins介绍

更新oh-my-zsh

默认情况下, 您将被提示检查每几周的升级. 如果你想我ZSH自动升级本身没有提示你, 修改`~/.zshrc

disable_update_prompt = true

禁用自动升级, 修改~/.zshrc

disable_auto_update = true

当然你也可以选择手动更新

如果你想在任何时间点升级(也许有人刚刚发布了一个新的插件,你不想等待一个星期?)你只需要运行:

upgrade_oh_my_zsh

卸载oh-my-zsh

如果你想卸载oh-my-zsh, 只需要执行uninstall_oh_my_zsh zsh, 从命令行运行. 这将删除本身和恢复你以前的bash或者zsh配置.

uninstall_oh_my_zsh zsh

参考链接:https://blog.csdn.net/gatieme/article/details/52741221

3 其他特性

3.1命令补全

虽然Bash可以使用tab自动补全命令,但oh-my-zsh的补全功能更强。比如你想进入Nginx所在目录 /usr/local/nginx,输入 cd/u/l/n 按下tab系统就能自动将其补全为 cd /usr/local/nginx;比如,输入 git,按下tab,就给你返回关于git的命令;再比如,你要进入一个名字很长的文件夹,你只要输入前几个字符,再按tab就能补全。

你也可以使用 alias 命令查看,会发现oh-my-zsh默认已经把很多命令组合并取了别名。

3.2 在目录中穿越

我们通常会遇到这种情况:先进入一个很深的目录,又要换到另一个目录。通常我们会使用 cd - 回到最近的一次目录,或者使用 history 查看之前所有的目录。但是oh-my-zsh提供了更强大的 d 命令。

d 命令会列出最近进入的目录历史,并且会给这些目录加上序号,只要输入对应目录的序号,就能进入该目录。

使用前面提到的 alias 命令可以查看其它一些目录跳转的快捷方式:

 rogn@ubuntu  ~  alias
-='cd -'
...=../..
....=../../..
.....=../../../..
......=../../../../..

Git友好

使用Git做版本控制时,经常需要对仓库的代码进行 status、add、commit等操作,以及审视Git仓库的提交状态,oh-my-zsh对Git有很友好的支持。

如下图,我们 cd 到一个目录,发现命令行前多了一对括号,括号中的 master 表示当前目录是一个Git仓库,且在master分支下。如果当前分支有文件改动,master后面会增加一个*号,表示工作区有文件改动但没有执行 add。执行 git add后,*变成了 +,表示添加到了站暂存区。再执行git commit,master后面的符号消失,工作区又干净了。切换分支,括号里变成了dev,表示当前已经是dev分支。

image

安装自动提示插件

下载插件
git clone git://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
配置插件, 可以通过修改~/.zshrc中的plugins来完成
plugins=(
git
zsh-autosuggestions
)
由于自动提示的亮度太低,不容易看到,所以我们需要修改下自动提示的亮度
vim ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
将这里调整为10
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=‘fg=10’
修改之后需要重新加载一下
source ~/.zshrc
效果:

自动提示插件效果

高亮插件

下载插件
git clone git://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
配置方式同上,高亮插件一般设置为最后一个加载的插件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值