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

1 安装git

yum -y install git

2 安装zsh

yum -y install zsh

3 更改root的默认shell

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

4 安装oh-my-zsh

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 修改配置

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 修改全局配置使其对所有用户生效

echo "source /usr/share/zsh.d/.zshrc" >> /etc/zshrc

7 更改新用户的默认shell

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

8 修改主题及插件使用

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

#之前有配置过别名所以直接通过别名编辑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 即可

全局安装oh-my-zsh保姆教程的更多相关文章

  1. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

  2. Linux下mongodb安装及数据导入导出教程

    Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...

  3. 宝塔安装Lsky Pro图床教程

    欢迎访问我的个人博客皮皮猪:http://www.zhsh666.xyz Lsky Pro图床是一个支持本地.阿里云 OSS.腾讯云 COS.七牛云.又拍云等储存方式的基于PHP的开源图床. 项目主页 ...

  4. 【hexo+github搭建myblog】bash: npm: command not found 问题,疑似解决!关键词:NPM全局安装路径

    情况:打算用hexo+github搭建个人博客 1. hexo搭建,参考博文如下,非常感谢: Hexo+Github博客搭建完全教程 hexo从零开始到搭建完整 问题: 在最基本的安装步骤 (参考链接 ...

  5. npm 全局安装和局部安装的区别

    上图是从网上找的webpack 安装的步骤,我们看到除了要全局安装之外,还需要本地安装,那么这两者有什么区别呢? 本文以Windows平台上做测试,以webpack为示例做教程 什么是全局安装? 安装 ...

  6. nodejs安装 及环境变量配置教程 超详细版

    ------------恢复内容开始------------ ------------恢复内容开始------------ 上篇文件 写到  遇到了两个棘手问题  : @终端进程启动失败: shell ...

  7. 保姆教程系列二、Nacos实现注册中心

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 上篇我们介绍到  保姆教程系列一.Linux搭建Nacos 注册中心原理 一.环境准备 Java版本:1.8+   (Linux ce ...

  8. 保姆教程系列一、Linux搭建Nacos

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 简介: Nacos是阿里巴巴开源的一款支持服务注册与发现,配置管理以及微服务管理的组件.用来取代以前常用的注册中心(zookeeper ...

  9. 【保姆教程】RuoYi-Radius搭建实现portal认证

    [保姆教程]RuoYi-Radius搭建实现portal认证 一.简介 以若依后台管理框架V4.6.0做为基础框架,实现了ToughRADIUS大部分功能,支持标准RADIUS协议(RFC 2865, ...

  10. git克隆项目到本地&&全局安装依赖项目&&安装依赖包&&启动服务

     一.安装本地开发环境 1.安装本项目 在需要保存到本地的项目的文件夹,进入到文件夹里点击右键,bash here,出现下图: 2.安装依赖项目  3.安装依赖包(进入到命令行) # 安装依赖包 $ ...

随机推荐

  1. Multiserver游戏服务器Demo[C++&Lua]

    代码参考 代码文件参考下述详解的类图,工程参考第零章工程说明 关键特性 对Socket库进行封装,抹平Socket的Window&Linux的平台差异. C++嵌入lua脚本,增加开发者编码效 ...

  2. 如何开启Apache SkyWalking的自监控?

    1. 开启Prometheus遥测数据 默认情况下, 遥测功能(telemetry)是关闭的(selector 为 none),像这样: telemetry: selector: ${SW_TELEM ...

  3. JAVA 使用IText7 + Freemarker 动态数据生成PDF实现案例

    技术方案:IText7 + Freemarker 技术文档 Itext 官网:https://itextpdf.com/ itext API文档:https://api.itextpdf.com/iT ...

  4. 【HarmonyOS】API9中datashare转internal的方法

    [前言] HarmonyOS 3.1 Release版本正式发布了,这个版本给我们带来了一个非常有用的API--FilePicker(文件选择器) @ohos.file.picker,使用这个API我 ...

  5. @Deprecated注解的使用

    被注解@Deprecated标记的程序元素是不鼓励使用的程序元素,通常是因为它很危险,或者是因为存在更好的替代方案. 除了对象自身引用自己用@Deprecated标记的方法外,其他情况使用@Depre ...

  6. GO 集合 map 使用总结

    转载请注明出处: Go语言的集合称为映射(map),它是一种无序的键值对(key-value)的集合,集合是通过键(key)来快速检索值(value)的,键(key)类似于索引,它指向值(value) ...

  7. Jmeter学习之七_使用influxdb2.7和grafana10进行Jmeter测试结果展示的方法

    Jmeter学习之七_使用influxdb2.7和grafana10进行Jmeter测试结果展示的方法 摘要 前几天验证了 线程组内的-监听器 jp@gc 相关的组件 以及验证了 server-age ...

  8. GetX 关于报错 Null check operator used on a null value的解决

    import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'logic.dart'; class Ge ...

  9. CF1794C Scoring Subsequences题解

    文中 \(a\) 为题目中给的 \(a\). 如果我们要求 \(a_1, a_2, a_3, \dots, a_m\) 的结果, 那么我们可以把 \(a\) 数组从后往前依次除以 \(i\),\(i\ ...

  10. 如何用Three.js + Blender打造一个web 3D展览馆

    作者:vivo 互联网前端团队- Wei Xing 运营活动新玩法层出不穷,web 3D炙手可热,本文将一步步带大家了解如何利用Three.js和Blender来打造一个沉浸式web 3D展览馆. 一 ...