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

Oh-My-Zsh安装与配置

目录

  • 1 认识
    • 1.1 认识终端
    • 1.2 认识Zsh(Z Shell)
    • 1.3 认识 .zshrc
    • 1.4 认识Oh-My-Zsh
    • 1.5 认识iTerm
  • 2 安装
    • 2.1 官方安装方法
    • 2.2 国内安装方法
  • 3 配置
    • 3.1 终端美化以及主题配置
    • 3.2 扩展配置
  • 4 附录
    • 4.1 附录1 – macOS上常用的系统自带终端工具
    • 4.2 附录2 – macOS上常用的第三方终端工具

1 认识

1.1 认识终端

终端(Terminal)是一个命令行实用工具,在计算机早期,它曾被用作计算机的操作系统(没有图形界面)。当时最流行的操作系统是MS-DOS(后来演变成Windows),也就是今天的Powershell。Windows上的Powershell与macOS(早期称System、Mac OS X、OS X)和Linux操作系统的UNIX(Shell)有很大不同,导致Windows并不受程序员的青睐,也有很多终端工具不被支持,例如Homebrew(现在已有Scoop替代,不过支持的软件数量很少)、wget等。

Mac上的预装终端功能强大,基本上不亚于著名终端iTerm。它在设置中可以调节终端主题、终端启动等专业设置。

1.2 认识Zsh(Z Shell)

Zsh全称为Z Shell,是macOS和Linux上的一个终端。与同类软件(例如Bash、Sh、Csh等)不同的是,Zsh的功能极为强大,预装了很多实用的终端软件,这也就是为什么后面我们要介绍的GitHub开源项目Oh-My-Zsh选择基于Zsh的原因。

1.3 认识 .zshrc

.zshrc是Mac及Linux的Zsh终端的一个必要文件,默认为隐藏,Mac中可以通过“⌘ + ⇧ + .”来显示(可以用文本编辑打开)。它是Zsh的一个永久配置文件,跟它相像的还有.zprofile临时配置。如果你不想打开配置文件,可以用终端命令“nano ~/.zshrc”或“vim ~/.zshrc”来编辑。注意,当你用它们来编辑之后,一定要输入命令“source ~/.zshrc”或者重启终端,这样才能应用更改。

1.4 认识Oh-My-Zsh

Oh-My-Zsh是GitHub上面的一个备受欢迎的项目,是美化Zsh的不二选择。建议搭配iTerm使用。现在它已经发展成为了一个庞大的项目,经过更新迭代,现在已经有了数百种主题以及数百个扩展。这也是我后面要讲到的内容。

官方网址:https://ohmyz.sh

1.5 认识iTerm

iTerm是一个macOS上的第三方终端。它功能十分强大,界面清爽干净,不过只支持英文。

2 安装

2.1 官方安装方法

根据官网的安装方法,我们可以知道,它跟Homebrew一样,克隆的也是GitHub上面的内容。如果你不介意速度,或者网络在国外,建议使用以下脚本:

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

当终端上出现Oh-My-Zsh的彩色字样时,就表示安装成功了。

2.2 国内安装方法

跟Homebrew一样,国内也有人做了Oh-My-Zsh的国内安装版,源在Gitee的mirrors上。不过可能得有些麻烦:

# Using wget
wget https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh

找到以下部分:

# Default settings
ZSH=${ZSH:-~/.oh-my-zsh}
REPO=${REPO:-ohmyzsh/ohmyzsh}
REMOTE=${REMOTE:-https://github.com/${REPO}.git}
BRANCH=${BRANCH:-master}

REPO=${REPO:-ohmyzsh/ohmyzsh}
REMOTE=${REMOTE:-https://github.com/${REPO}.git}

替换为

REPO=${REPO:-mirrors/ohmyzsh}
REMOTE=${REMOTE:-https://gitee.com/${REPO}.git}

编辑后保存, 运行安装即可。 (运行前先给install.sh权限)
修改仓库地址:

cd ~/.oh-my-zsh
git remote set-url origin https://gitee.com/mirrors/oh-my-zsh.git
git pull

3 配置

3.1 终端美化以及主题配置

Oh-My-Zsh现在已经拥有数百种主题,可美化终端。你可以通过编辑 .zshrc的方式来设置主题。

其中,我推荐这些主题:

Robbyrussell: Oh-My-Zsh的默认主题,更适合搭配亮色背景,界面清爽、干净。

Agnoster: Oh-My-Zsh的暗色默认主题,适合搭配暗色背景,使用了ANSI前景色,不过得额外安装字体,比较麻烦。

Random: Oh-My-Zsh的随机主题,每次运行Zsh时它都会随机选择一个主题,并显示出“[oh-my-zsh] Random theme ‘xxx’ loaded“的字样。

如果再配上iTerm以及Solarized主题,那就更不错了。

3.2 扩展配置

和主题一样,Oh-My-Zsh也拥有丰富的扩展库,可提高生产力。你同样可以通过编辑 .zshrc的方式来添加扩展。找到“plugins=(xxx xxx xxx)”的那一行,你就可以添加你喜欢的扩展了。其中预装的我推荐git、macOS、z、emoji、emotty。还有一些比较好的插件,不过得自行搜索安装:zsh-autosuggestions、zsh-syntax-highlighting、autojump等等。

4 附录

4.1 附录1 – macOS上常用的系统自带终端工具

  • cd(转到目录)
  • vim(编辑)
  • chmod(授予权限)
  • sudo(请求超级用户权限)
  • nano(编辑)
  • python(Python代码运行)
  • gcc(c++、g++)(C++代码运行)
  • ruby(Ruby代码运行)
  • csrutil(系统完整性保护方面)
  • cp(拷贝移动)
  • php(PHP代码运行)
  • swift(Swift代码运行)
  • touch
  • ls(查看此目录下的文件和文件夹)
  • git(包含在CommandLineTools中,Git终端命令)
  • curl(文件传输、显示)
  • open(打开)
  • zsh(终端内打开Zsh)
  • bash(终端内打开Bash)
  • sh(终端内打开Sh)
  • ssh(SSH密钥)
  • softwareupdate(系统更新)
  • go(Go语言)
  • clang
  • ln(设定终端启动运行脚本)
  • echo(输出)
  • printf(输出)

4.2 附录2 – macOS上常用的第三方终端工具

  • brew(Homebrew软件包管理器)
  • port(MacPorts软件包管理器)
  • youtube_dl(视频下载)
  • wget(文件下载)
  • tldr(命令使用参考)
  • npm、node(node.js)
  • ffmpeg(媒体转换)
  • lazygit(LazyGit开源项目)
  • jar2app(Java App转Mac App,开源项目)
  • b(Butterfly Server)
  • fx(终端JSON查看)
  • gibMacOS(macOS下载器)
  • macadmin-scripts(macOS下载器)
  • pip(Python模块下载器)
  • snap(软件包管理器)
  • pkg(软件包管理器)
  • macserial(查看Mac的硬件参数)
  • MountEFI(挂载EFI磁盘)

相关文章:

  • 自动发卡平台源码优化版,支持个人免签支付
  • GenICam-GenApi简介
  • 【Pt】马灯贴图绘制过程 03-制作油渍、积尘效果
  • 百度智能云推出AI大模型全家桶;抖音发布 AI 生成虚拟人物治理公告
  • 怎样去保证 Redis 缓存与数据库双写一致性?
  • VS2022 使用ClaudiaIDE设置自定义图片背景
  • 进制转换md5绕过 [安洵杯 2019]easy_web1
  • 【深度学习】Pytorch教程(八):PyTorch数据结构:2、张量的数学运算(6):高维张量:乘法、卷积(conv2d~四维张量;conv3d~五维张量)
  • Elasticsearch从入门到精通-01认识Elasticsearch
  • Mysql 时间格式化 date_format
  • 某查查首页瀑布流headers加密
  • Leetcode3044. 出现频率最高的质数
  • “难产”的恒驰5,前途堪忧
  • 威胁情报分析平台
  • AtCoder Beginner Contest 272「ABCDE」
  • 基于虚拟机源码分析move合约(三):整数的位运算和强制转换
  • 【sklearn】模型融合_投票法
  • ASP.NET MVC会计教学管理端项目系列--Log4Net日志组件
  • AD域帐户密码过期,终端802.1x认证自动重连导致AD账号被锁,员工无法上网、办公怎么办?
  • iOS小技能:跳转到地图APP(navForIOSMap)
  • Unreal Engine源代码下载方法
  • JavaScript简识
  • 【正点原子STM32连载】第五十一章 视频播放器实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  • 下一个(全)排列
  • 读懂MEV链上套利操作
  • Mac 电脑下载 AppStore 中的 ipa 软件包详细流程
  • Pycharm Runtime Error R6034解决方法
  • LQ0100 人物相关性分析【文本处理】
  • 虚拟形象制作该如何进行?带你深入了解虚拟形象制作
  • 一文读懂TDengine3.0中的事务机制
  • Java入门刷题篇 基础语法->>基本数据类型->>Java1类型转换
  • 入门学python(三)