linux下搭建oh-my-zsh环境

时间:2022-11-03 20:06:15

目标:因为用习惯了zsh的shell环境,所以习惯在服务器上也搭建zsh环境,但是每次搭建都需要Google每一步骤,感觉很麻烦,所以决定记录一下,免得一次次查

1. 安装zsh

zsh是一款shell环境,oh-my-zsh在其基础上加了很多扩展和插件。

具有sudo权限

如果是root用户:sudo apt-get install zsh
确定zsh是否安装成功:zsh --version
更改自己的默认shell为zsh:sudo chsh -s $(which zsh)
重启一下,就可以进行第二步了

普通用户

如果没有sudo权限,那就只能自己手动编译安装了=。=

## 下载源码
wget -O zsh.tar.xz https://sourceforge.net/projects/zsh/files/latest/download
## 解压
xz -d zsh.tar.xz	## 解压xz文件,提示xz命令不存在的话安装一下xz
tar -xvf zsh.tar	## 解压tar文件
./configure --prefix=$HOME/usr/   # 进入到有./configure文件下开始编译。prefix后面跟的目录可以自定义的
make
make install

2. 安装oh-my-zsh

oh-my-zsh其实已经很成熟了,也具有丰富的生态,开发者们根据自己的需要创建了许多的插件~

安装方法有两种:

  1. 直接安装:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
or:
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

一般这种方法就能直接安装好,奈何网络原因,一直失败,于是我使用了第二种方法:

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh 

注: 1. 克隆后将templates目录下的zsh配置文件拷贝至~/.zshrc即可,就是先把.oh-my-zsh/templates/xxx 文件拷贝到家目录,然后改名为.zshrc
    2. .oh-my-zsh一定要在$HOME下( ~ 下)
    3. 注意这句命令的oh-my-zsh前面有.

3. 设置zsh为默认shell

如果有sudo权限,那么在第一步就可以完成,如果没有,那就得想别的办法。
我这里用了比较偷懒的方法,可以直接在.bashrc中加一行zsh使得登录bash后自动切换为zsh。
由于我这台服务器默认是sh,甚至想要切换到bash都要手动敲一下bash。于是我找到了它的.profile文件,在最后一行加了句:zsh

4. 安装常用的插件

安装完oh-my-zsh后,就可以看看丰富的插件了!
通过编辑.zshrc可以自定义主题和插件
我本人喜欢的主题是:

ZSH_THEME="agnoster"  # 找到.zshrc文件中这一行就可以自己修改了,最猛的是可以改成random,每次登录都会随机一个主题~

我习惯的插件:

plugins=(git
        tmux
        extract
        rand-quote
        z
        vi-mode
        zsh-syntax-highlighting
        zsh-autosuggestions
           )

改完这个文件保存一下,重启一下shell就能使用了,BUT,由于后面两个插件不是oh-my-zsh自带的,所以需要自己手动安装,安装就是clone一下这两个仓库,其实很方便:

git clone https://github.com/zsh-users/zsh-autosuggestions.git ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions   #这个插件就是能智能补全你的命令
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting   #这个插件是能够高亮你在shell里输入的所有命令,如果是正确的,命令呈现绿色,如果是红色,那么说明你输的有问题

这个就是有绿色的高亮也有灰色的智能联想:

linux下搭建oh-my-zsh环境

关于zsh的各种快捷键实在是太多了,可以想用时查找,在使用git时也十分方便,建议大家都用起来哦!

参考文章

https://www.jianshu.com/p/e91e3dfbb6fd
https://www.niconya.com/bv/e207/