路漫漫其修远|

Joey-Wang

园龄:4年2个月粉丝:17关注:0

📂Shell
🔖mac
2024-04-27 17:09阅读: 1749评论: 0推荐: 0

Mac 终端美化

在 unix 内核的操作系统中(包括 unix 后续延伸出的分支 linux、OS X 等),shell 是和系统内核指令打交道的一座桥梁。

我们通过键盘输入一种自己容易记忆识别的符号标识(shell 命令),由 shell 解析这些命令再反馈给内核去执行一系列操作。

shell 有多种类型,zsh 也是一种 shell ,但可能并不是系统默认的 shell,大多数 unix 衍生系统的默认 shell 都是 bash。

1 切换终端默认 shell 为 zsh

MacOS Catalina 版本开始,终端的默认 shell 为 zsh。

  1. 使用 echo $SHELL 查看当前终端的默认 shell
  2. 如果不是 /bin/zsh,则通过 cat /etc/shells 检查是否安装 /bin/zsh
  3. 确认系统有安装 zsh,但未设为默认 shell,则通过 chsh -s /bin/zsh 更改默认 shell 为 zsh
    (更改后需重启终端,以使命令生效)
$ echo $SHELL      # 查看当前默认的 shell

$ cat /etc/shells  # 查看所有安装的 shell
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

$ chsh -s /bin/zsh # 改变默认的 shell

也可以通过 终端 => 偏好设置 => 通用中,更改 Shell 打开方式:

image-20230411235555496

2 安装 oh-my-zsh

$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 如果网络不行,也可以通过 gitee 安装
$ sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"

3 更换 oh-my-zsh 主题

$ vim ~/.zshrc     # 更改 ZSH_THEME 配置
$ source ~/.zshrc  # 让配置生效

ZSH_THEME="robbyrussell" 中的主题名换为 agnoster,更多主题可查看官网

3.1 设置字体

主题更改为 agnoster 后,终端显示有乱码,这是因为该主题需要特殊字体。该字体包含在 powerline-fonts 字体库中。

1️⃣ 下载字体

$ cd ~/Downloads && git clone https://github.com/powerline/fonts.git
$ cd fonts && ./install.sh
$ cd && rm -rf ~/Downloads/fonts

2️⃣ 设置字体

在 mac 终端的偏好设置中,将字体更改为后缀有 “Powerline” 的字体,本人选择的是 DejaVu Sans Mono for Powerline。更改完后,终端的字体显示正常。

3.2 更改目录颜色

agnoster 主题中,文件目录箭头的色块为深蓝色,个人感觉颜色太深看不清。

该颜色在 agnoster 主题的配置文件中配置:

$ vim ~/.oh-my-zsh/themes/agnoster.zsh-theme

prompt_dir() 中的颜色从 blue 改为 cyan。

注意:颜色为ASCII标准颜色,取值为:white black yellow cyan magenta blue grey green red。

3.3 隐藏主机名

$ vim ~/.oh-my-zsh/themes/agnoster.zsh-theme

更改 prompt_context() ,defalut 后的引号内容默认为 "%(!.%{%F{yellow}%}.)%n@%m",显示:用户名@主机名。

改为 "%(!.%{%F{yellow}%}.)$HOST",就只显示主机名,改为 "%(!.%{%F{yellow}%}.)$USER",就只显示用户名。在引号中还可以添加自定义表情 😄。更多表情

若要什么都不显示,可改为 prompt_context(){}

prompt_context() {
	if [[ "$USERNAME" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
		# prompt_segment black default "%(!.%{%F{yellow}%}.)%n@%m"  # 默认配置
		# prompt_segment black default "%(!.%{%F{yellow}%}.)$HOST"  # 只显示主机名
		prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"  # 只显示用户名
	fi
}
# 要主机名和用户名都隐藏,则将上述函数变为空
# prompt_context() {}

这种方法只能更改 agnoster 主题下的显示。若要在所有主题下生效,需将该 prompt_context() 函数添加到 ~/.zshrc 中。

~/.zshrc 中添加 export DEFAULT_USER=$USER 能达到同时隐藏主机名和用户名的效果。

4 安装插件

❗️插件可以装很多,但装多了后,每次进入命令提示符时会明显变慢。慎用。

以下两个插件安装在 ~/.oh-my-zsh/custom/plugins 目录下。

4.1 命令自动补全插件

效果:输入过的命令,再次输入时,会显示最后一次历史命令,按右箭按钮补全命令。

1️⃣ 下载插件

$ git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 命令相当于:
# cd ~/.oh-my-zsh/custom/plugins
# git clone https://github.com/zsh-users/zsh-autosuggestions

2️⃣ 配置插件

$ vim ~/.zshrc
# 找到plugins=(git)内容,更改为:
# plugins=(git zsh-autosuggestions)
$ source ~/.zshrc

4.2 命令高亮插件

效果:如果输入的命令不正确,命令显示为红色,如果输入的命令正确,命令为绿色。

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

$ vim ~/.zshrc
# 在 plugins 中添加相应插件:
# plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
$ source ~/.zshrc

5 更改 vim 配置

这里配置了 vim 命令打开文件后的界面显示。

$ vim ~/.vimrc

在文件中配置:

" 打开语法高亮
syntax on
" 显示行号
set nu
" 高亮被搜索的句子
set hlsearch
" 在编辑过程中,在右下角显示光标位置的状态行
set ruler

" 继承前一行的缩进方式
set autoindent
" 自动缩进
set smartindent
" 设置tab键为4个空格
set tabstop=4
" 自动缩进的空白长度
set shiftwidth=4

参考链接

MAC 终端美化教程(来个全套)

Mac 终端美化显示

自定义oh-my-zsh的主题目录颜色

vim 更多配置

本文作者:Joey-Wang

本文链接:https://www.cnblogs.com/joey-wang/p/18162259

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Joey-Wang  阅读(1749)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开