Mac 相关设置

1 MAC终端zsh配置

(1) 下载安装iTerm2

官网地址: http://www.iterm2.com/

设置iTerm2无限滚屏:怕错过什么重要信息,那设置成无限滚屏吧!

【常用快捷键】

  • ⌘ + k (command + k): 清屏(有时需要查找特定信息,避免上一次输出的干扰,可以先清屏再执行)
  • ⌃ + a (control + a):光标放行首(麻麻再也不担心我把光标移动到最后要靠手速了。)
  • ⌃ + e ( control + e):光标放行尾
  • ⌘ + f (command + f):(调出查找框)查找
  • ^ + c (control + c):取消当前行(当前行已经输入很多了,想删除,不需要按住delete键逐字符删滴- -)
  • ⌘ + enter (command + enter):切换全屏(沉浸于shell中,慢慢爱上敲回车的感觉……但是,忽地一下,shell铺满屏幕了!如果不知道这个快捷键的话,有点儿秀不起来呀。——个人感觉,手速快的时候,误触还是时有发生滴。)

(2) 安装HomeBrew

大部分Mac系统已经自带Homebrew,查看是否安装方法:

brew --version

若提示无brew命令,则执行如下命令安装,可以参照官网https://brew.sh/

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 查看仓库地址
brew --repo
brew --repo homebrew/core
brew --repo homebrew/cask

(3) 更换终端默认Shell为zsh

Bash作为大多数系统默认安装的Shell,大家都多少有所接触,Zsh和Bash类似都是一个Shell,但是Zsh更注重用户体验和与人的交互,OS X默认也安装好了Zsh,然而你想自己从头开始配置一个顺手的Zsh是比较浪费时间的,有人已经帮我们配置好了,这个流行的Zsh配置叫---Oh My ZSH!,直观的效果如下图所示,代码开源在github

Mac OS X默认已经安装好了Zsh,你可以打开终端,输入zsh --version来确认,如果没有安装,请参考这个文档

打开终端输入下面的命令,切换默认Shell为Zsh:

chsh -s /bin/zsh

关闭终端重新打开后,你将默认使用zsh作为终端Shell。然而你会发现,终端并没有变得多酷炫,接着往下走

(4) 安装oh-my-zsh

参考《https://ohmyz.sh/#install》使用以下命令可以安装:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# 下面这句好使:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

我自己安装的时候是开了阿里郎代理,但是终端不知道为啥总是报错说 SSH:443 拒绝访问。但是可以直接用如下命令把仓库下载下来(或者直接下载zip文件也行):

git clone git@github.com:ohmyzsh/ohmyzsh.git

然后把上面那个install.sh 直接用浏览器打开复制到文件中,直接用sh执行。脚本中的逻辑是先把 ohmyzsh.git 克隆到~/.oh-my-zsh 目录,然后执行后面到初始化设置逻辑。既然仓库已经下载并拷贝过去了,那么就将install.sh 中下载和检查到逻辑注释掉,仅执行后半部分的初始化设置逻辑好了。

(5) 修改oh-my-zsh 主题

ls ~/.oh-my-zsh/themes
vim ~/.zshrc           // 修改 ZSH_THEME的值,经典配色是agnoster
source ~/.zshrc        // 生效

// 如果想获得更多的主题可以从https://github.com/robbyrussell/oh-my-zsh/wiki/Themes#agnoster下载

(6) 解决乱码问题

由于agnoster和一些其他主题显示需要Powerline字符集支持,需要下载新的字符集

git clone git@github.com:powerline/fonts.git
cd fonts
./install.sh

打开iTerm2:偏好设置 -> Profiles -> Text -> change Font -> Roboto Mono for Powerline

(7) 隐藏zsh前面用户名/主机名

修改vim ~/.zshrc文件,在文件底部增加:

prompt_context() {}

 

只保留用户名,隐藏主机名

 

prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
  fi
}

 

只保留主机名,隐藏用户名

prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$HOST"
  fi
}

(8) 厉害的zsh插件

(a) AutoJump  -  从任意目录一键跳转任意目录

下面着重介绍一个好用的插件AutoJump,举个连个栗子介绍下AutoJump的强大。

正常情况下需要一层层敲入

cd /Users/fanyu/Workspace/youku/new_reform/AppWrapper/OnePlayer

如果用autojump 则只需敲 j OneP ,两下shift 会自动生成关联,选择对应数字就能进入。autojump 支持在任意目录进入任意目录。

【安装方法可参考】https://github.com/wting/autojump/wiki

(b) zsh-autosuggestions

计算题:我输入了echo hello指令,然后又输入了19条指令。接着又输入echo world指令。这个时候,我想找到历史指令echo hello,需要按几次上键?
答案是:输入echo按*两下*上键就可以啦。

autosuggestions插件会记录已经执行过的的指令。下次输入指令的时候,会智能提示。
额外地,只输入几个字符,然后按上键查找历史指令的时候,结果集合里所有的指令都是以已输入字符开头的。

(c) zsh-syntax-highlighting

问题:mkdirmkdri有什么不一样。有时候,敲错了指令,但是出错了才意识到。zsh-syntax-highlighting可以提前发现这个小问题

zsh-syntax-highlighting插件做了一件极简的事情:认识的指令显示为绿色,不认识的指令显示为红色。(当然,不认识的指令继续按回车,得到的将是:command not found错误提示。)
额外地,它还能检查括号是不是匹配。

 

(8.1) 安装autojump

brew install autojump

修改~/.zshrc文件,找到plugins字段,添加autojump。

默认是这样的:
plugins=(
  git
)

修改为:
plugins=(
  git
  autojump
)

(8.2) 安装auto suggestions

git clone https://github.com/zsh-users/zsh-autosuggestions ~/Documents/.zsh-suggestions
ln -s ~/Documents/.zsh-suggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions

修改~/.zshrc文件,找到plugins字段,添加suggestions。修改后的样子大概是这样:

plugins=(
  git
  autojump
  zsh-autosuggestions
)

(8.3) 安装syntax hightlighting

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

修改~/.zshrc文件,找到plugins字段,添加highlighting。修改后的样子大概是这样:

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

(9) 终极选择:ohmyzsh + powerlevel10k

Oh My Zsh有上百个自带主题,以及许许多多的外部主题。目前来看使用量教多的是 powerlevel9k,它的初始效果是这样的。

它的介绍是这样的,注意关键字:兼容 Powerlevel9k,10-100倍的性能提升!

载安装的方法还是Git仓库的配置:

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

# 然后设置 .zshrc 中的变量 ZSH_THEME
Set ZSH_THEME=powerlevel10k/powerlevel10k in your ~/.zshrc.

安装完 powerlevel10k 后你可能会发现有乱码,这是因为你终端字体不支持那么多的字符,这就需要使用扩展字体了。

字体的安装,我们可以参考 powerlevel9k 的官方介绍:https://github.com/bhilburn/powerlevel9k/wiki/Install-Instructions#step-2-install-a-powerline-font

提示】如果最后发现zsh的效果不太好,或者想更换一下设置,可以重新执行一遍:p10k configure

 

2 Java

2.1 Java 安装目录

/Library/Java/JavaVirtualMachines

➜ ~ tree /Library/Java
/Library/Java
├── Extensions
└── JavaVirtualMachines
├── openjdk-11.jdk -> /usr/local/opt/openjdk@11/libexec/openjdk.jdk
└── openjdk-8.jdk -> /usr/local/opt/openjdk@8/libexec/openjdk.jdk

4 directories, 0 files

2.2 常用查询命令

// 查看当前JAVA_HOME路径
/usr/libexec/java_home

// 卸载
brew uninstall openjdk@21

2.3 设置JAVA_HOME

/usr/libexec/java_home可以指定JDK版本,如下:

➜  ~ /usr/libexec/java_home -v1.8
/usr/local/Cellar/openjdk@8/1.8.0+282/libexec/openjdk.jdk/Contents/Home
➜  ~ /usr/libexec/java_home -v11
/usr/local/Cellar/openjdk@11/11.0.9/libexec/openjdk.jdk/Contents/Home

2.4 Jenv

// 安装
brew install jenv

// 添加如下内容到 .zshrc
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"

// 重新加载
source ~/.zshrc

// 查看版本
jenv versions


// 设置全局版本
jenv global <version>

// 设置shell窗口版本
jenv shell <version>

// 设置当前目录版本
jenv local <version>

// 验证版本
java -version

// 启用插件
jenv enable-plugin maven
jenv enable-plugin export

 

 

Refer:

(1) https://www.cnblogs.com/orzs/p/18312556

(2) https://github.com/ohmyzsh/ohmyzsh/wiki/Themes

(3) Jenv: https://juejin.cn/post/7383205958828851237

 

 

posted @ 2025-07-13 18:39  ck_2016  Views(20)  Comments(0)    收藏  举报