编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

提高macOS研发力,从Terminal终端开始

wxchong 2024-07-15 09:58:42 开源技术 9 ℃ 0 评论


这是一个完整介绍“macOS + iTerm2 + Zsh + Powerlevel10k + VS Code”配置的文章。一定值得你订阅和收藏!

因为内容有点儿长,所以先建议收藏起来,作为工具书用,以后一定用得上!

在实操过程中,我遇到了很多技术问题,通过查阅资料,逐一排除。最终,形成本文,所有的步骤都经过了我的亲自验证,确定是有效的。

  • 了解macOS的Shell
  • 更新macOS原生Terminal终端
    • iTerm2安装
    • 修改iTerm2的主题配色
    • 设定主题字体
    • 安装oh-my-zsh
    • 设定oh-my-zsh内置主题
    • 设定powerlevel9k主题
    • 设定powerlevel10k主题
  • iTerm2插件
  • VS Code 插件
  • VS Code中使用Terminal
  • iTerm2快捷方式

之前一直使用Thinkpad系列电脑,后来因为工作中涉及到Linux系统下的研发,所以改用了MacBook系列。用惯了Windows办公环境,十分担心macOS环境下的办公是否存在兼容性问题。用了一段时间后,这个顾虑渐渐消失了,日常办公(日历、记事)、工作办公(Word、Excel、PowerPoint、Visio、PDF)、多媒体办公(修图、视频)、科研(写文章)等基本没有问题,我想这就是一个国际化大公司打造Apple Inc. 产品的生态化建设。

了解macOS的Shell

随着项目的推进,需要用到Terminal终端。

刚开始,用macOS的原生Terminal,界面如下,默认黑白色。

查了一些资料,得知:Linux和macOS的Terminal终端默认都使用的是基于Bash的Shell,见上图的标题栏。因为原生Terminal的Bash不支持自动补全等功能,后来先后出现了Zsh(Z shell)和Fish shell,两个比较出名的Shell,用户量非常大,它们都支持自动化功能和丰富的配色主题。

因为我要提高科研效率,所以我也要更新macOS原生的Shell。

其实,macOS的原生Shell已经支持了Z Shell,macOS的Terminal有这样一句话。

The default interactive shell is now zsh.
To update your account to use zsh, please run
chsh -s /bin/zsh.
For more details, please visit https://support.apple.com/kb/HT208050.

通过检查cat /etc/shells,我确定了macOS原生是支持这些Shell的:/bin/zsh, /bin/bash, /bin/csh, /bin/dash, /bin/ksh, /bin/sh, or /bin/tcsh,通过下面的指令可以切换Shell到Zsh,不用再重复安装Zsh了。

chsh -s /bin/zsh

变化呢?!激动的心有点儿凉凉

其实macOS原生的Terminal就这样,黑白相间,它就图个简单。要想实现Shell的自动化和更加丰富的主题配色,要接着往下看。

更新macOS原生Terminal终端

iTerm2安装

iTerm2官方网址:
https://iterm2.com

iTerm2 Github:
https://github.com/gnachman/iTerm2

  • 下载,解压,拖动iTerm2到Applications文件夹。
  • 安装好之后,打开iTerm2,检查必要配置。

修改iTerm2的主题配色

内置的几个主题和原生的类似,要想使用颜色更丰富的主题,需要下载附加的主题包iTerm2-color-schemes。

  • 下载主题包iTerm2-color-schemes
    https://iterm2colorschemes.com
  • 选择.itermcolors文件../schemes/Tomorrow Night Eighties.itermcolors

设定主题字体

因为我们要用到的主题会用到很多特殊的icons,所以主题字体需要Powerline font支持这些icon 。

  • Powerline font官方网址
    https://github.com/powerline/fonts
  • 推荐:Sauce Code Pro Nerd Font Complete

Nerd Fonts官方网址:
https://www.nerdfonts.com

Sauce Code Pro Nerd Font Complete下载地址:
https://www.nerdfonts.com/font-downloads

  • 推荐字体(powerlevel10k):Meslo Nerd Font patched for Powerlevel10k

手动安装:

  • MesloLGS NF Regular.ttf
  • MesloLGS NF Bold.ttf
  • MesloLGS NF Italic.ttf
  • MesloLGS NF Bold Italic.ttf

可以通过这个网址查看效果:
https://www.programmingfonts.org/#source-code-pro

  • 下载后,通过Font book安装。

修改之后,效果图:

安装oh-my-zsh

  • 正式安装之前,需要安装Command Line Tools和Homebrew。
#检查Command Line Tools是否安装
xcode-select -p
#/Library/Developer/CommandLineTools
#安装 Command Line Tools
xcode-select --install
#安装Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 首先把Homebrew安装脚本文件下载到本地,在单独执行安装。
bash install.sh
  • oh-my-zsh官网地址: https://ohmyz.sh

详细内容:
https://github.com/ohmyzsh/ohmyzsh/wiki

  • 安装指令:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  • 首先把oh-my-zsh安装脚本文件下载到本地,在单独执行安装。
sh install.sh

执行之后的结果为:

oh-my-zsh的安装路径为~/.oh-my-zsh

  • 界面变了!说明已经生效了。
  • 对于升级来说,默认情况下,会提示升级。如果需要静默升级的话,可以修改~/.zshrc
DISABLE_UPDATE_PROMPT=true

如果需要关闭自动升级,可以修改~/.zshrc

DISABLE_AUTO_UPDATE=true

如果需要手动升级,执行下面指令

omz update

如果你需要卸载oh-my-zsh,只需要执行下面指令

uninstall_oh_my_zsh

设定oh-my-zsh内置主题

  • 官方主题地址:
    https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
  • 个人主题地址:
    https://github.com/ohmyzsh/ohmyzsh/wiki/External-themes
  • 通过修改~/.zshrc来替换主题
#ZSH_THEME="robbyrussell"
 ZSH_THEME="agnoster"
  • 修改完之后,执行exec $SHELL生效,或者关闭iTerm2重启。

设定powerlevel9k主题

作为Agnoster主题的升级版,建议升级。

  • 官方地址: https://github.com/Powerlevel9k/powerlevel9k

设定powerlevel10k主题

官方已经升级为powerlevel10K。

  • 官方地址:
    https://github.com/romkatv/powerlevel10k
  • 安装及配置:
  • 方法一

因为powerlevel9k主题不是Zsh内置主题,需要另外安装,指令如下:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc 

或者使用国内的镜像:

git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
  • 方法二
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

或者使用国内的镜像:

git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

修改~/.zshrc

ZSH_THEME="powerlevel10k/powerlevel10k"

当你重新启动iTerm2或者Terminal的时候,弹出Powerlevel10k配置界面,提示安装推荐字体以及配置参数。如果推荐字体未安装,则首先提示下面这个界面。

如果保持现用字体,则可以“n”跳过。

也可以通过指令启动Powerlevel10k配置:

p10k configure

当完成配置后,会生产配置文件~/.p10k.zsh,未来就可以手动配置参数了。

如果需要重新配置,就重新执行p10k configure

iTerm2插件

  • Zsh-autosuggestions

可以自动提示历史指令,加速输入,建议安装。

下载地址:
https://github.com/zsh-users/zsh-autosuggestions

安装指令:

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

将插件加入到~/.zshrc

plugins=(zsh-autosuggestions)

重启iTerm2,生效。

  • zsh-syntax-highlighting

不同的指令会自动上色,帮助识别指令是否输入正确。

下载地址:
https://github.com/zsh-users/zsh-syntax-highlighting

安装指令:

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

将插件加入到~/.zshrc

plugins=(zsh-syntax-highlighting)

VS Code 插件

下载地址:
https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/vscode

将插件加入到~/.zshrc

plugins=(vscode)

设置PATH路径:

  1. 打开VS Code
  2. 启动命令行Command + Shift + P
  3. 输入:Shell Command: Install 'code' command in PATH

VS Code中使用Terminal

打开VS Code,打开设置选项,搜索terminal.integrated.fontFamily,修改字体为:MesloLGS NF,可以看到在VS Code中使用Terminal的时候,和iTerm2是一样的主题风格

iTerm2快捷方式

  1. 复制:直接选中;
  2. 屏幕垂直分割:command+d
  3. 屏幕水平分割:command+shift+d

-- END --

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表