当前位置: 首页 > article >正文

Linux 安装 Oh My Zsh

1. 简介

Zsh(Z Shell)是一款功能强大的 Shell,相比 Bash 提供了更强的 自动补全、命令高亮、插件支持 等功能。而 Oh My Zsh 是一个 Zsh 的增强管理工具,让你可以轻松安装插件和主题,极大提高开发效率。

本教程将详细介绍如何在 Linux 上安装 Oh My Zsh,并配置 命令补全和语法高亮


2. 安装 Zsh

Oh My Zsh 依赖于 Zsh,因此需要先安装 Zsh。

2.1 安装 Zsh

如果系统没有安装 Zsh,可以使用以下命令安装。

Ubuntu / Debian

sudo apt update
sudo apt install zsh -y

CentOS / RHEL

sudo yum install zsh -y

Arch Linux

sudo pacman -S zsh --noconfirm

在这里插入图片描述

2.2 检查系统是否已安装 Zsh

zsh --version

如果输出类似 zsh 5.8,说明 Zsh 已安装,可以跳过安装步骤。

2.3 切换默认 Shell 为 Zsh

chsh -s $(which zsh)

然后 注销并重新登录,或者运行 zsh 进入 Zsh。


3. 安装 Oh My Zsh

Oh My Zsh 官方提供了自动安装脚本。

3.1 在线安装(推荐)

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

如果 curl 命令不存在,可以安装它:

sudo apt install curl -y   # Ubuntu / Debian
sudo yum install curl -y   # CentOS / RHEL

3.2 离线安装(适用于无法访问 GitHub 的环境)

如果你的服务器无法直接访问 GitHub,可以先在 其他电脑 上下载 Oh My Zsh,然后手动安装。

步骤 1:在 可以联网的电脑 上下载 Oh My Zsh:

git clone --depth=1 https://github.com/ohmyzsh/ohmyzsh.git ~/ohmyzsh

步骤 2:将 ~/ohmyzsh 目录 拷贝到目标服务器(比如使用 SCP):

scp -r ~/ohmyzsh user@your_server:/home/user/

步骤 3:在目标服务器上执行安装:

mv ~/ohmyzsh ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
chsh -s $(which zsh)
source ~/.zshrc

在这里插入图片描述


4. 配置 Oh My Zsh 插件(补全和高亮)

Oh My Zsh 提供了多个增强功能的插件,其中最常用的是:

  • zsh-autosuggestions:命令自动建议
  • zsh-syntax-highlighting:语法高亮
  • zsh-completions:补全增强

4.1 安装 zsh-autosuggestions(命令自动建议)

git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

然后编辑 ~/.zshrc,找到 plugins=(),添加 zsh-autosuggestions

plugins=(git zsh-autosuggestions)

使配置生效:

source ~/.zshrc

4.2 安装 zsh-syntax-highlighting(语法高亮)

git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting

同样修改 ~/.zshrc,添加插件:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

应用更改:

source ~/.zshrc

4.3 安装 zsh-completions(补全增强)

git clone --depth=1 https://github.com/zsh-users/zsh-completions ~/.oh-my-zsh/custom/plugins/zsh-completions

修改 ~/.zshrc,添加插件:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting zsh-completions)

使配置生效:

source ~/.zshrc

在这里插入图片描述


5. 选择和配置 Zsh 主题

Oh My Zsh 自带多个主题,可以在 ~/.zshrc 里修改 ZSH_THEME 进行设置。

ZSH_THEME="robbyrussell"  # 默认主题

如果想使用 更高级的 Powerlevel10k 主题,请参考 下一篇教程

列出所有可用主题:

ls ~/.oh-my-zsh/themes/

然后修改 ~/.zshrc,修改 ZSH_THEME 为你喜欢的主题:

ZSH_THEME="agnoster"

应用更改:

source ~/.zshrc

6. 常见问题

6.1 zsh: command not found: zsh

说明 Zsh 没有安装,运行以下命令安装:

sudo apt install zsh -y  # Ubuntu / Debian
sudo yum install zsh -y  # CentOS / RHEL

6.2 chsh: Warning: shell not changed

  • 可能是因为当前用户没有权限更改 Shell,可以尝试:
    sudo chsh -s $(which zsh) $USER
    
  • 或者 重新登录,然后手动运行 zsh 进入 Zsh。

7. 总结

到这里,你已经成功安装并配置了 Oh My Zsh,包括:
✅ 安装 Zsh 并设置为默认 Shell
✅ 安装 Oh My Zsh
✅ 配置 命令补全(zsh-completions)、自动建议(zsh-autosuggestions)、语法高亮(zsh-syntax-highlighting)
✅ 修改 Oh My Zsh 主题

🚀 下一篇教程:安装和配置 Powerlevel10k 主题,打造终极终端体验!

补充:

  • 设置自动更新,在 ~/.zshrc 里解开这两行的注释
    在这里插入图片描述

相关文章:

Linux 安装 Oh My Zsh

1. 简介 Zsh(Z Shell)是一款功能强大的 Shell,相比 Bash 提供了更强的 自动补全、命令高亮、插件支持 等功能。而 Oh My Zsh 是一个 Zsh 的增强管理工具,让你可以轻松安装插件和主题,极大提高开发效率。 本教程将详细…...

LuaJIT 学习(3)—— ffi.* API 函数

文章目录 GlossaryDeclaring and Accessing External Symbolsffi.cdef(def)ffi.Cclib ffi.load(name [,global])例子:ffi.load 函数的使用 Creating cdata Objectscdata ffi.new(ct [,nelem] [,init...]) cdata ctype([nelem,] [init...])例子:匿名 C…...

方差,协方差及协方差矩阵的计算

1.方差 方差是用来衡量一组数据的离散程度,数序表达式如下: σ 2 1 N ∑ i 1 N ( x i − μ ) 2 \sigma^2\frac1N\sum_{i1}^N(x_i-\mu)^2 σ2N1​i1∑N​(xi​−μ)2 σ 2 σ^2 σ2表示样本的总体方差, N N N 表示样本总数, x i x _i xi​…...

DeepSeek-R1思路训练多模态大模型-Vision-R1开源及实现方法思路

刚开始琢磨使用DeepSeek-R1风格训练多模态R1模型,就看到这个工作,本文一起看看,供参考。 先提出问题,仅靠 RL 是否足以激励 MLLM 的推理能力? 结论:不能,因为如果 RL 能有效激励推理能力&#…...

Unity 创建签名证书、获取签名证书信息,证书指纹

目录 一:创建签名证书 二:自动填写密码 ​编辑 三:获取签名证书的信息 后言 👑👑👑 一:创建签名证书 首先确保Unity是安卓打包,然后按图操作 会打开下图页面 选择你要创建到的…...

VIC模型率定验证

在气候变化问题日益严重的今天,水文模型在防洪规划,未来预测等方面发挥着不可替代的重要作用。目前,无论是工程实践或是科学研究中都存在很多著名的水文模型如SWAT/HSPF/HEC-HMS等。虽然,这些软件有各自的优点;但是&am…...

在AIStudio飞桨星河社区一键部署DeepSeek-r1:70b模型

随着DeepSeek的火热,市面上出现大量的第三方的API服务区,但是对于对安全、隐私、控制有一定需求的用户,还是会希望能够自主部署DeepSeek 。 实践下来,用自己的机器部署是一条解决之道,但是推理起来,cpu和内…...

机器学习算法分类及应用场景全解析

在机器学习的学习过程中,具备归类思想至关重要。机器学习涉及众多算法、数据类型及应用场景,归类能让我们清晰梳理知识体系。比如将算法按学习方式分为有监督、无监督等,按任务分类分为分类任务、回归任务和生成任务。通过归类,能…...

分布式架构下的RPC解决方案

在分布式架构下,RPC(远程过程调用)是服务间通信的重要技术。常见的 RPC 解决方案包括以下几种: 1. 传统 RPC 框架 1.1 gRPC 协议:基于 HTTP/2 和 Protocol Buffers(protobuf)特性:…...

MCU的工作原理:嵌入式系统的控制核心

MCU的工作原理可以概括为以下几个步骤: 1. 初始化 上电后,MCU从Flash存储器中加载程序代码,并初始化外设和寄存器。 2. 任务执行 根据程序逻辑,MCU执行数据处理、外设控制和通信等任务。通过中断系统实时响应外部事件。 3. 低…...

[资源分享]-web3/区块链/学习路线/资料/找工作方式/水龙头

记录个人学习web3整理的资料 后续如果有 了解/入坑 打算, 提前收藏一下. 1. 学习路线 登链社区-学习路线图 2. 学习资料 国内成系统的资料比较少,我整理的网盘的,关注私信我,资料互相学习 前言 | 区块链技术指南 学习web3-僵尸小游戏 web3.js文档 ethers.js官方文档 Hardhat文…...

GNU Nano编辑器中,怎样保存并退出

当出现git commit的提交内容需要修改时,使用git commit --amend进行解决。 但是在修改提交的内容时,弹出了GNU Nano的编辑器 修改完毕后,使用ctrlxd的组合键退出 输入Y后,将退出编辑器,操作完成...

个人居家 Web移动端 局域网 远程控制电脑 工具 PC遥控器拿去玩吧

想远程电脑 换个电影,切个歌,随有无线键鼠,但解决不了离屏幕较远 看不清鼠标指针和键入内容。 看似简单的事情,但对周末躺下沙发的码农来说,就再也起不了身了。 远程工具 TeamViewer、向日葵、Autodesk以及开源的RustD…...

cursor中使用prettier-code formatter插件方法

cursor的"扩展"中搜索"prettier-code formatter",然后安装 点击cursor编辑器右上角“更多操作”,然后打开“配置编辑器” 按照图片进行操作,进入到editor在editor中,找“格式化“,把Format On Sav…...

SpaceSync智能排班:重构未来办公空间的神经中枢

文心智能体平台可免费使用DeepSeek 满血版啦,使用DeepSeek模型创建并提交智能体,即有机会瓜分万元奖金!有这等好事还不快冲! 文心智能体官网:文心智能体平台AgentBuilder | 想象即现实 本片文章为作者参加文心智能体平…...

ToB公司找客户专用|大数据获客系统

对于ToB公司而言,找到并吸引合适的潜在客户并非易事。传统的获客手段如参加行业展会、电话推销以及直接拜访等,虽然在过去取得了一定成效,但如今却暴露出诸多问题。首先,这些方法往往成本高昂,无论是时间还是金钱上的投…...

Linux 文件权限类

目录 文件属性 从左到右的10个字符表示 rwx作用文件和目录的不同解释 图标: 案例实操 chmod 改变权限 基本语法 经验技巧 案例实操 拓展:可以通过一个命令查看用户列表 chown改变所有者 基本语法 选项说明 案例实操 chgrp 改变所属组 基…...

OpenWebUI项目调研对比

开源地址:https://github.com/open-webui/open-webui 官方文档:https://docs.openwebui.com/ OpenWebUI(以前称为Ollama WebUl)是一款面向大型语言模型(LLMs)的用户友好型Web界面,支持Ollama和兼容OpenAl的API运行。 通过一个直观的界面&a…...

在线Doc/Docx转换为PDF格式 超快速转换的一款办公软件 文档快速转换 在线转换免费转换办公软件

小白工具https://www.xiaobaitool.net/files/word-pdf/提供了一项非常实用的在线服务——将Doc或Docx格式的文档快速转换为PDF格式。这项服务不仅操作简单,而且转换效率高,非常适合需要频繁处理文档转换的用户。 服务特点: 批量转换&#x…...

LuaJIT 学习(1)—— LuaJIT介绍

文章目录 介绍Extensions Modulesbit.* — Bitwise operationsffi.* — FFI libraryjit.* — JIT compiler controlC API extensionsProfiler Enhanced Standard Library Functionsxpcall(f, err [,args...]) passes arguments例子: xpcall 的使用 load*() handle U…...

网络安全——SpringBoot配置文件明文加密

XTHS:第一步、XTHS:第二步、XTHS:第三步、XTHS:第四步 !就可以实现了。(但是前提,你要先对你的文本进行加密,然后按照ENC(加密文本),放到配置文件中) 一、前言…...

Docker安装Kafka(内含zookeeper)

因为kafka是基于zookeeper做的,所以必须要有zookeeper 一、Zookeeper 1.拉取镜像 docker pull zookeeper:3.7.02.运行 docker run --restartalways \--log-driver json-file \--log-opt max-size100m \--log-opt max-file2 \--name zookeeper -p 2181:2181 \-v…...

Netty启动源码NioEventLoop剖析accept剖析read剖析write剖析

学习链接 NIO&Netty - 专栏 Netty核心技术十–Netty 核心源码剖析Netty核心技术九–TCP 粘包和拆包及解决方案Netty核心技术七–Google ProtobufNetty核心技术六–Netty核心模块组件Netty核心技术五–Netty高性能架构设计 聊聊Netty那些事儿 - 专栏 一文搞懂Netty发送数…...

【HarmonyOS Next之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(七) -> JS动画(二)

目录 1 -> 动画动效 1.1 -> 创建动画对象 1.2 -> 添加动画事件和调用接口 2 -> 动画帧 2.1 -> 请求动画帧 2.2 -> 取消动画帧 1 -> 动画动效 通过设置插值器来实现动画效果。 说明 从API Version 6 开始支持。 1.1 -> 创建动画对象 通过cre…...

LINUX下的tcp协议

TCP 1. 面向数据流(流式套接字) 2. 建立连接 3. 安全可靠的传输协议 应用场景: HTTP, MQTT, FTP 三次握手:TCP建立连接时,需要进行三次握手,确保收发数据前,双方都已准备就绪。 四次挥…...

自定义Linux网络协议的开发与测试

在当今快速发展的技术领域中,定制化网络协议可以为特定的应用场景提供灵活而强大的解决方案。本文将详细介绍如何在Linux系统上开发一个自定义网络协议,并编写相应的用户空间程序进行测试。所有步骤基于2025年3月11日的时间点完成。 开发自定义协议内核模块 定义协议和实现…...

Handy Multi Agent—task1:CAMEL环境配置及你的第一个Agent

目录 1.1 获取CAMEL 1.1.1 通过 PyPI 安装 1.1.2 通过源码安装 1.1.2.1 使用 Poetry 工具从源码安装 1.1.2.2 使用Conda和Pip从源码安装 1.2.2 使用API调用模型 1.2.2.1 使用语言模型 1.2.2.2 使用多模态模型 1.2.2.3 视频理解 1.2.2.4 作业1 1.2.2.5 作业2 1.1 获取…...

CSS元素层叠顺序规则

CSS元素层叠顺序规则 看图说话总结: background/borderz-index(<0)blockfloatinline/inline-blockz-index(0,auto)z-index (>0)...

微服务全局ID方案汇总

自增id 对于大多数系统来说&#xff0c;使用mysql的自增id当作主键再最合适不过了。在数据库层面就可以获取一个顺序的、唯一的、空间占用少的id。 自增id需要是 int、bigint这些整数类型&#xff0c;uint 支持 40 亿的数据量&#xff0c;bigint unsign&#xff08;0 &#x…...

深入 Python 网络爬虫开发:从入门到实战

一、为什么需要爬虫&#xff1f; 在数据驱动的时代&#xff0c;网络爬虫是获取公开数据的重要工具。它可以帮助我们&#xff1a; 监控电商价格变化抓取学术文献构建数据分析样本自动化信息收集 二、基础环境搭建 1. 核心库安装 pip install requests beautifulsoup4 lxml …...