虽然有 Time Machine 这样的神器,但是它不方便共享,所以这里记录下我在 Mac 下的一些常用环境。

不定期更新。

Tools

Homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Oh My ZSH

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

插件

安装自动提示、高亮插件。

brew install zsh-autosuggestions
brew install zsh-syntax-highlighting

启用插件,包含 ZSH 自带和通过 Homebrew 安装的。

plugins=(
	git autojump iterm2 brew copyfile extract sublime colored-man-pages
)

source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh

主题

更多见:https://github.com/robbyrussell/oh-my-zsh/wiki/Themes

ZSH_THEME="af-magic"

Autojump

brew install autojump

Tcping

brew install tcping

Htop

brew install htop

Jq

brew install jq

Tree

brew install tree

Ag

brew install ag

MyCLI

brew install mycli

Icdiff

brew install icdiff

CCAT

brew install ccat

Parallel

brew install parallel

V2Ray

brew install v2ray-core

Speedtest

brew install speedtest-cli

SSHPass

brew install http://git.io/sshpass.rb

Supervisor

brew install supervisor

Alias

# 查询本地和外网IP
alias ip='echo 本地 IP:$(ipconfig getifaddr en0) && curl https://myip.ipip.net'
# 一键更新 brew
alias brew_update='brew update && brew upgrade && brew cu -a -f  -y && brew cleanup'
# 开启命令行代理
alias proxy_on='export http_proxy=socks5://127.0.0.1:1081; export HTTP_PROXY=$http_proxy; export https_proxy=$http_proxy; export HTTPS_PROXY=$http_proxy;'
# 关闭命令行代理
alias proxy_of='unset http_proxy;unset HTTP_PROXY;unset https_proxy;unset HTTPS_PROXY'
# 生成指定长度密码
alias gen_password='gen_password(){ LC_ALL=C tr -dc "[:alnum:]" < /dev/urandom | head -c $1}; gen_password $1'
# 快速配置 Git 环境
alias git_config_self='git config user.email "xxx" && git config user.name "xxx"'
# 搭配 ZSH 的 git 插件使用,git diff 更直观
alias gd='git icdiff'
# 支持 cat 带颜色输出
alias cat='ccat'
# 快捷脚本
alias code_init='~/init.sh' 
alias code_update='~/update_all.sh'

Scripts

init.sh

并行同步目录下所有项目至远程仓库最新代码,同时精简分支数只保留 master 分支

#!/bin/bash
ls -l |grep "^d" |awk '{print $9}' | parallel git -C {} checkout master

ls -l |grep "^d" |awk '{print $9}' | parallel "git -C {} branch | grep -v master | xargs -t git -C {} branch -D"

ls -l |grep "^d" |awk '{print $9}' | parallel "git -C {} fetch --all && git -C {} reset --hard origin/master && git -C {} pull"

update_all.sh

并行更新目录下当前分支代码并安装 composer 依赖

 #!/bin/bash

 function green(){
     echo -e "\033[32m~~~~~~~~~~~~$1~~~~~~~~~~~~\033[0m"
 }

 function update(){
 folder=$1
 green "Update $folder code"
 git -C $folder pull
 if [[ -e "$folder/composer.lock" ]]
 then
     green "Update $folder composer"
     composer install -d $folder -o
 else
     green "Not found composer"
 fi
 }

 export -f update
 export -f green

 ls -l |grep "^d" |awk '{print $9}' | parallel update

Brew Summary

brew install zsh-autosuggestions zsh-syntax-highlighting autojump tcping htop jq tree ag mycli icdiff ccat parallel v2ray-core speedtest-cli http://git.io/sshpass.rb supervisor
brew cask install typora iina sublime-text docker shuttle postman sequel-pro kindle istat-menus telegram CheatSheet lulu sourcetree