Ubuntu 下安装zsh和oh-my-zsh
<h1 class="postTitle"><span style="background-color: rgba(255, 255, 0, 1); font-size: 18px"><strong>注意:安装前先备份/etc/passwd</strong></span></h1><div class="postBody">
<div id="cnblogs_post_body" class="blogpost-body">
<p>一开始装oh-my-zsh我是拒绝的,因为这东西安装容易,卸载难,真的很难。</p>
<p>Mac安装参考:http://www.cnblogs.com/EasonJim/p/6283247.html</p>
<p>zsh与on-my-zsh区别:http://www.cnblogs.com/EasonJim/p/7863093.html</p>
<p>说明:Ubuntu下默认没有安装zsh,Mac下默认安装了zsh。</p>
<p>注意:安装了oh-my-zsh之后的环境变量入口就会从./bashrc变成./zshrc,这点在配置环境变量的时候要特别小心。可以参考Mac的配置,基本都是同样的:http://www.cnblogs.com/EasonJim/p/6283190.html</p>
<p><strong>一、安装:</strong></p>
<p>1、安装zsh</p>
<div class="cnblogs_code">
<pre>sudo apt-get install zsh</pre>
</div>
<p>2、把默认的Shell改成zsh</p>
<div class="cnblogs_code">
<pre>chsh -s /bin/zsh</pre>
</div>
<p>注意:不要使用sudo。</p>
<p>3、配置密码文件,解决chsh: PAM认证失败的问题</p>
<div class="cnblogs_code">
<pre>sudo vim /etc/passwd</pre>
</div>
<p>把第一行的/bin/bash改成/bin/zsh,这个是root用户的。</p>
<p><img src="https://images2017.cnblogs.com/blog/417876/201711/417876-20171120082613352-1925970220.png" alt=""></p>
<p>把最后一行的/bin/bash改成/bin/zsh,这个应该是每台电脑的登录用户名+计算机名组成的。</p>
<p><img src="https://images2017.cnblogs.com/blog/417876/201711/417876-20171120082702477-1122826176.png" alt=""></p>
<p>4、安装Git</p>
<div class="cnblogs_code">
<pre>sudo apt-get install git</pre>
</div>
<p>5、安装oh-my-zsh</p>
<p>为什么要安装,用于快速配置zsh。</p>
<p>官网:http://ohmyz.sh/</p>
<p>离线版本:(链接: https://pan.baidu.com/s/1i5iqYhB 密码: v5c2),如果使用离线版本需要修改为可执行权限:sudo chmod +x *.sh</p>
<div class="cnblogs_code">
<pre>sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"</pre>
</div>
<p>6、重启电脑,查看效果</p>
<p> <img src="https://images2017.cnblogs.com/blog/417876/201711/417876-20171120084818821-1263217575.png" alt=""></p>
<p>7、安装autojump自动跳转插件</p>
<p>官网:https://github.com/wting/autojump</p>
<p>安装:</p>
<div class="cnblogs_code">
<pre>sudo apt-get install autojump</pre>
</div>
<p>配置教程:cat /usr/share/doc/autojump/README.Debian</p>
<p>配置:</p>
<div class="cnblogs_code">
<pre>vim .zshrc
#在最后一行加入,注意点后面是一个空格
. /usr/share/autojump/autojump.sh</pre>
</div>
<p>生效:</p>
<div class="cnblogs_code">
<pre>source ~/.zshrc</pre>
</div>
<p>8、安装zsh-syntax-highlighting语法高亮插件</p>
<p>官网:https://github.com/zsh-users/zsh-syntax-highlighting</p>
<p>安装:</p>
<div class="cnblogs_code">
<pre>git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc</pre>
</div>
<p>生效:</p>
<div class="cnblogs_code">
<pre>source ~/.zshrc</pre>
</div>
<p>9、安装zsh-autosuggestions语法历史记录插件</p>
<p>官网:https://github.com/zsh-users/zsh-autosuggestions</p>
<p>安装:</p>
<div class="cnblogs_code">
<pre>git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions</pre>
</div>
<div class="cnblogs_code">
<pre>plugins=(zsh-autosuggestions)</pre>
</div>
<p>然后会发现上面这句话是不会生效的。这里科普一下:在~/.oh-my-zsh/plugins下有很多插件,直接使用plugins=(ant mvn svn git)这样的命令是可以直接加载插件的。</p>
<p>经过研究发现,如果使用plugins去执行插件的,首先要在本机已经安装了这个软件之后才可以使用。且这种方式在Ubuntu下不支持命令去执行,只能放在.zshrc文件下使用,然后再通过source ~/.zshrc使其生效。这个是对于Ubuntu比较吭的地方。</p>
<p>所以上面的plugins要放在~/.zshrc,具体修改如下:</p>
<div class="cnblogs_code">
<pre>vim ~/.zshrc</pre>
</div>
<p>增加插件:</p>
<p><img src="https://images2017.cnblogs.com/blog/417876/201711/417876-20171120115220946-753730377.png" alt=""></p>
<p>然后增加zsh的执行文件在最后一行:</p>
<div class="cnblogs_code">
<pre>source $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh</pre>
</div>
<p><img src="https://images2017.cnblogs.com/blog/417876/201711/417876-20171120115425665-1073377194.png" alt=""></p>
<p><br>输入命令时,会用浅色字体给出建议的命令,按 → 即可自动补全。</p>
<p>生效:</p>
<div class="cnblogs_code">
<pre>source ~/.zshrc</pre>
</div>
<p>10、配置主题</p>
<p>官方主题参考:https://github.com/robbyrussell/oh-my-zsh/wiki/External-themes</p>
<div class="cnblogs_code">
<pre>sudo vim ~/.zshrc</pre>
</div>
<p>找到ZSH_THEME="robbyrussell",修改为:ZSH_THEME="ys";</p>
<p>生效:</p>
<div class="cnblogs_code">
<pre>source ~/.zshrc</pre>
</div>
<p> </p>
<p><strong>二、卸载:</strong></p>
<p>执行:</p>
<div class="cnblogs_code">
<pre>sudo sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/uninstall.sh)"</pre>
</div>
<p>把/etc/passwd改回bash:</p>
<p>第一行的/bin/bash</p>
<p><img src="https://images2017.cnblogs.com/blog/417876/201711/417876-20171120144356727-1690238705.png" alt=""></p>
<p>最后一行的/bin/bash</p>
<p><img src="https://images2017.cnblogs.com/blog/417876/201711/417876-20171120144438633-188452062.png" alt=""></p>
<p>其实看样子是很简单的卸载,但是最后你会发现还有很多没有干掉的,在使用上你会慢慢的发现。</p>
<p> </p>
<p>参考:</p>
<p>http://www.jianshu.com/p/9a5c4cb0452d</p>
<p>http://blog.csdn.net/shengzhu1/article/details/54590158</p>
<p>https://segmentfault.com/q/1010000000448027</p>
<p>https://wiki.archlinux.org/index.php/Zsh_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)</p>
<p>https://ehlxr.me/2016/09/24/Oh-My-Zsh-%E6%9B%BF%E6%8D%A2%E4%BD%A0%E7%9A%84-Bash-Shell/</p>
<p>http://macshuo.com/?p=676</p>
<p>http://wdxtub.com/2016/02/18/oh-my-zsh/</p>
<p>http://wulfric.me/2015/08/zsh/</p>
<p>https://www.zhihu.com/question/21418449</p>
<p>http://yijiebuyi.com/blog/b9b5e1ebb719f22475c38c4819ab8151.html</p>
<p>https://segmentfault.com/a/1190000002658335</p>
<p>http://www.linuxidc.com/Linux/2015-07/119879.htm</p>
<p>https://segmentfault.com/a/1190000004695131</p>
<p>http://www.cnblogs.com/memory4young/p/about-oh-my-zsh-plugin-sublime.html</p>
</div>
</div>
</div>
<div id="MySignature" role="contentinfo">
<br><br>
<div>
<p style="text-align:center;">
<img src="https://s3.ax1x.com/2020/12/02/D5XzUP.png" height=80px>
<br>
<p style="text-align:center;">如果这篇文章帮助到了你,你可以请作者喝一杯咖啡</p>
<p style="text-align:center;"></p>
<img src="https://img2020.cnblogs.com/blog/938105/202010/938105-20201013171833350-276632012.png" height=250px align="center"/>
</div><br><br>
来源:https://www.cnblogs.com/sddai/p/11185344.html
頁:
[1]