Ubuntu 18.04下安装zsh和oh-my-zsh

参考:https://www.cnblogs.com/EasonJim/p/7863099.html

注意:安装了oh-my-zsh之后的环境变量入口就会从./bashrc变成./zshrc,这点在配置环境变量的时候要特别小心

安装zsh

sudo apt-get install zsh

ZSH Shell 安装好之后,可以使用如下命令查看其版本:

zsh --version

把默认的Shell改成zsh

chsh -s /bin/zsh

注意:不要使用sudo。

配置密码文件,解决chsh: PAM认证失败的问题

sudo vim /etc/passwd

把第一行的/bin/bash改成/bin/zsh,这个是root用户的。(我的是bash)

把最后一行的/bin/bash改成/bin/zsh,这个应该是每台电脑的登录用户名+计算机名组成的(也可能没有,没有的话就不要改了)

如果没有Git安装Git

sudo apt-get install git

安装oh-my-zsh

为什么要安装,用于快速配置zsh。官网:http://ohmyz.sh/ 

离线版本:(链接: https://pan.baidu.com/s/1i5iqYhB 密码: v5c2),如果使用离线版本需要修改为可执行权限:sudo chmod +x *.sh

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

注意如果此卷轴不可用,可以去http://ohmyz.sh/官网(这一步可能会遇到坑,如果是直接执行可能会显示拒绝,多执行几遍就行了,如果是权限否定加sudo,如果显示clone失败,继续执行,应该是网的问题,执行成功之后.oh-my-zsh在~目录下可以编辑。.zshrc修改主题与环境变量。如果是进入了超级管理员执行上面语句即sudo su,之后是下载到了/root目录下,这时候改变的是超级管理员的bash和主题。)

安装成功

重启电脑,查看效果

然后修改.zshrc

生效:

source ~/.zshrc

安装zsh-syntax-highlighting语法高亮插件

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git

或则

sudo apt install zsh-syntax-highlighting

安装好之后使用如下命令以启用 ZSH Syntax Highlighting 插件:

echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc

如果遇到~/.zshrc的权限问题修改~/.zshrc的权限 sudo chmod 777 ~/.zshrc

生效:

source ~/.zshrc

安装zsh-autosuggestions语法历史记录插件 :官网:https://github.com/zsh-users/zsh-autosuggestions

git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

在.zshrc中加入

plugins=(zsh-autosuggestions)

然后会发现上面这句话是不会生效的。这里科普一下:在~/.oh-my-zsh/plugins下有很多插件,直接使用plugins=(ant mvn svn git)这样的命令是可以直接加载插件的。

经过研究发现,如果使用plugins去执行插件的,首先要在本机已经安装了这个软件之后才可以使用。且这种方式在Ubuntu下不支持命令去执行,只能放在.zshrc文件下使用,然后再通过source ~/.zshrc使其生效。这个是对于Ubuntu比较吭的地方。

所以上面的plugins要放在~/.zshrc,具体修改如下:

sudo vim ~/.zshrc

增加插件

然后增加zsh的执行文件在最后一行:

source $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh

生效

source ~/.zshrc

卸载:

执行

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

把/etc/passwd改回bash:

第一行的/bin/bash

最后一行的/bin/bash

其实看样子是很简单的卸载,但是最后你会发现还有很多没有干掉的,在使用上你会慢慢的发现

注意事项

注意:换到zsh后,注意比对.zshrc.bashrc,把包含路径、库路径和其他设置同步写到.zshrc里面,如LD_LIDBRARY_PATHEXPORT PATH等等。系统里面有ROS的,要写入source xxx/setup.zsh等。

最后附上bash和zsh切换的命令:

chsh -s /bin/bash	//切换到bash
chsh -s /bin/zsh	//切换到zsh

解决 Oh My Zsh 在 git 目录下变得卡顿的问题

表现

  1. 进入到含有 git 仓库的目录时,终端长时间无响应,或卡顿
  2. 在该类型目录下,进行的任意操作,即使命令本身执行很快也需要很长时间终端才有响应
  3. 在新窗口下通过 ps -aux | grep git 可见 git status ... 的命令正在执行

原因:

agnoster主题的问题,会读取git的配置信息,如果项目目录下有太多的文件,卡顿会非常明显。

Oh My Zsh 为终端增加了自动跟踪 git 仓库变化的能力,其实是在检测到当前目录是在 git 管理的目录中时,执行了一系列的操作来获取到变化,并格式化为好看的信息显示在终端上

解决方案:

方案1:

覆盖 Oh My Zsh 默认的方法,在 ~/.oh-my-zsh/custom/ 文件夹中加入一个自定义脚本,以 .zsh 作为后缀名,比如:disable_git_info.zsh

        
        1234
        function git_prompt_info() {
  ref=$(git symbolic-ref HEAD 2> /dev/null) || return
  echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$ZSH_THEME_GIT_PROMPT_SUFFIX"
}

方案二

如果只是想在特定git目录不检查,首先进入该目录,再执行

git config --add oh-my-zsh.hide-status 1

如果想要不检查所有git目录,进行全局设置

git config --global oh-my-zsh.hide-status 1

要取消就将上面的命令中1改为0再执行。

参考链接

http://www.jianshu.com/p/9a5c4cb0452d

http://blog.csdn.net/shengzhu1/article/details/54590158

https://segmentfault.com/q/1010000000448027

https://wiki.archlinux.org/index.php/Zsh_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

https://ehlxr.me/2016/09/24/Oh-My-Zsh-%E6%9B%BF%E6%8D%A2%E4%BD%A0%E7%9A%84-Bash-Shell/

http://macshuo.com/?p=676

http://wdxtub.com/2016/02/18/oh-my-zsh/

http://wulfric.me/2015/08/zsh/

https://www.zhihu.com/question/21418449

http://yijiebuyi.com/blog/b9b5e1ebb719f22475c38c4819ab8151.html

https://segmentfault.com/a/1190000002658335

http://www.linuxidc.com/Linux/2015-07/119879.htm

https://segmentfault.com/a/1190000004695131

http://www.cnblogs.com/memory4young/p/about-oh-my-zsh-plugin-sublime.html

https://blog.csdn.net/weixin_38111667/article/details/86157841

https://blog.csdn.net/wf19930209/article/details/84898064

https://blog.csdn.net/weixin_40331125/article/details/104665575

https://blog.csdn.net/Jioho_chen/article/details/103330753

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值