全局安装oh-my-zsh保姆教程

我的系统是CentOS 7.6,按流程走完后可以实现系统内所有用户都默认使用zsh且插件配置共享省去重复编写配置或软连接的烦恼

1 安装git

bash 复制代码
yum -y install git

2 安装zsh

bash 复制代码
yum -y install zsh

3 更改root的默认shell

bash 复制代码
#查看当前可用shell列表
cat /etc/shells
#更改root的默认shell
hsh -s /bin/zsh

4 安装oh-my-zsh

bash 复制代码
mkdir /usr/share/zsh.d
#克隆项目到/usr/share/zsh.d/.oh-my-zsh,后期oh-my-zsh下载的插件也都会放到这里
git clone https://github.com/ohmyzsh/ohmyzsh.git /usr/share/zsh.d/.oh-my-zsh
#根据模版创建一个基本的zsh配置
cp /usr/share/zsh.d/.oh-my-zsh/templates/zshrc.zsh-template /usr/share/zsh.d/.zshrc

5 修改配置

bash 复制代码
cd /usr/share/zsh.d
vi .zshrc
#找到'export ZSH=$HOME/.oh-my-zsh'改为'export ZSH=/usr/share/zsh.d/.oh-my-zsh'
#找到'# alias zshconfig="mate ~/.zshrc"'改为'alias zshconfig="vi /usr/share/zsh.d/.zshrc"'
#找到'# alias ohmyzsh="mate ~/.oh-my-zsh""'改为'# alias ohmyzsh="cd /usr/share/zsh.d/.oh-my-zsh"'
#三处都设置好后即可保存:wq

上边三行注释分别是修改ZSH环境变量指向的位置和设置快速编辑的别名命令,之后可以通过zshconfig命令直接编辑.zshrc也可以通过ohmyzsh快速跳转到.ohmyzsh文件夹

保存后先执行'source ./.zshrc'看看效果

6 修改全局配置使其对所有用户生效

bash 复制代码
echo "source /usr/share/zsh.d/.zshrc" >> /etc/zshrc

7 更改新用户的默认shell

bash 复制代码
vi /etc/default/useradd
#'SHELL=/bin/bash'改为'SHELL=/bin/zsh',修改后保存,之后创建的用户也会默认使用zsh

8 修改主题及插件使用

zsh安装后默认使用'robbyrussell'主题,插件只有一个git插件,这里演示一下如何修改主题及配置插件,主题将切换为'ys'主题,插件将安装一个高亮插件作为演示

bash 复制代码
#之前有配置过别名所以直接通过别名编辑zshrc
zshconfig
#配置主题
#ZSH_THEME="robbyrussell" 替换为 ZSH_THEME="ys" 或其他你喜欢的主题
#保存后重启或手动执行一下'source /usr/share/zsh.d/.zshrc'

#安装插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
#ZSH_CUSTOM默认位置为$ZSH/.oh-my-zsh,前边指定过ZSH所以插件会放到/usr/share/zsh.d/.ohh-my-zsh下
#下载完成后打开配置文件添加插件配置
zshconfig
#找到"plugins=(git)"这一行,plugins中填入将要启动的插件
plugins=(
 git
 zsh-syntax-highlighting
)
#保存后source一下即可

9 完成

如果发现root的vi没有应用配置但是其他用户有是因为zsh的root没有给vim映射别名,执行 echo "alias vi='vim'" >> /etc/zshrc 即可

相关推荐
浅念-5 分钟前
C++ Protobuf 入门实战:基于通讯录项目吃透proto3语法与序列化
linux·服务器·网络·c++·protobuf·proto·proto3
不怕犯错,就怕不做32 分钟前
RK linux在buildroot中如何添加linux命令
linux·驱动开发·嵌入式硬件
小羊在睡觉41 分钟前
HLS视频
linux·后端·golang
宵时待雨42 分钟前
linux笔记归纳18:传输层协议TCP
linux·网络·笔记·网络协议·tcp/ip
吴声子夜歌1 小时前
Shell编程——条件测试与比较
linux·运维·shell
音草1 小时前
Linux 基础指令入门:常用命令、Shell 原理与权限管理
linux
aosky1 小时前
Linux 写内容到文件的几种方式
java·linux·服务器
吴声子夜歌2 小时前
Shell编程——函数
linux·运维·shell
码少女3 小时前
Linux——多路复用之poll模型
linux·服务器·网络
PatrickYao04223 小时前
Linux安装UV
linux·运维·uv