原文發(fā)自我的博客
手上一臺幾乎閑置的mbp mid 2015捂寿,最近升級了Big Sur做粤,感覺煥然一新,想作為主力機使用了螟够,畢竟硬件配置比公司給的低配mbp還好一截。按照現(xiàn)在習(xí)慣的開發(fā)環(huán)境峡钓,重新裝了一遍(下次試試用dotfiles管理)妓笙。
安裝字體
git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh
安裝homebrew
國內(nèi)網(wǎng)絡(luò)環(huán)境太差,安裝速度過慢能岩,掛了代理依然只有幾十KB的速度寞宫,只能選擇換鏡像源。
首先拉鹃,需要已經(jīng)安裝了 bash辈赋、git 和 curl鲫忍,以及 Command Line Tools (CLT) for Xcode, xcode-select --install
钥屈。
接著悟民,在終端輸入以下幾行命令設(shè)置環(huán)境變量:
BREW_TYPE="homebrew"
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/${BREW_TYPE}-core.git"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/${BREW_TYPE}-bottles"
最后,在終端運行以下命令以安裝 Homebrew / Linuxbrew:
git clone --depth=1 https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/install.git brew-install
/bin/bash -c "$(
cat brew-install/install.sh |
sed -E 's|^(\s*HOMEBREW_BREW_GIT_REMOTE=)(.*)$|\1"${HOMEBREW_BREW_GIT_REMOTE:-\2}"|g' |
sed -E 's|^(\s*HOMEBREW_CORE_GIT_REMOTE=)(.*)$|\1"${HOMEBREW_CORE_GIT_REMOTE:-\2}"|g'
)"
rm -rf brew-install
這樣在首次安裝的時候也可以使用鏡像焕蹄。
安裝好homebrew之后逾雄,需要設(shè)置常用taps以及換源:
BREW_TAPS="$(brew tap)"
for tap in core cask{,-fonts,-drivers,-versions}; do
if echo "$BREW_TAPS" | grep -qE "^homebrew/${tap}\$"; then
# 將已有 tap 的上游設(shè)置為本鏡像并設(shè)置 auto update
# 注:原 auto update 只針對托管在 GitHub 上的上游有效
git -C "$(brew --repo homebrew/${tap})" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-${tap}.git
git -C "$(brew --repo homebrew/${tap})" config homebrew.forceautoupdate true
else # 在 tap 缺失時自動安裝(如不需要請刪除此行和下面一行)
brew tap --force-auto-update homebrew/${tap} https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-${tap}.git
fi
done
更換上游后需重新設(shè)置 git 倉庫 HEAD:
brew update-reset
如有問題,可以復(fù)原倉庫上游:
BREW_TAPS="$(brew tap)"
for tap in core cask{,-fonts,-drivers,-versions}; do
if echo "$BREW_TAPS" | grep -qE "^homebrew/${tap}\$"; then
git -C "$(brew --repo homebrew/${tap})" remote set-url origin https://github.com/Homebrew/homebrew-${tap}.git
fi
done
# 重新設(shè)置 git 倉庫 HEAD
brew update-reset
二進(jìn)制預(yù)編譯包bottles換源:
# 臨時替換
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/bottles"
# 長期替換
# bash
echo 'export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/bottles"' >> ~/.bash_profile
# zsh
echo 'export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/bottles"' >> ~/.zprofile
安裝iTerm2
使用homebrew安裝:
brew install --cask iterm2
安裝主題nord:
wget https://raw.sevencdn.com/arcticicestudio/nord-iterm2/develop/src/xml/Nord.itermcolors
preferences → profiles → colors → color preset → import
腻脏,選擇下載的主題文件鸦泳。
設(shè)置光標(biāo)跳轉(zhuǎn),preferences → Keys → Preset → Natural Text Editing
永品。
安裝oh-my-zsh
安裝oh-my-zsh與命令補全做鹰、高亮:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
然后修改 vim.zshrc
,找到 plugins=(git)
改為 plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
設(shè)置主題:
Clone this repo:
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1
Symlink spaceship.zsh-theme
to your oh-my-zsh custom themes directory:
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
Set ZSH_THEME="spaceship"
in your .zshrc
.
最終樣式:
安裝tmux
安裝tmux:
brew install tmux
oh-my-tmux
選擇用oh-my-tmux一鍵配置:
cd ~
git clone https://github.com/gpakosz/.tmux.git
ln -s -f .tmux/.tmux.conf
cp .tmux/.tmux.conf.local .
brew install reattach-to-user-namespace
后續(xù)所有tmux配置在 .tmux.conf.local
中修改即可鼎姐。
主題nord-tmux
nord是一個干凈的钾麸、冷色調(diào)的配色主題,提供了一組主題插件集合炕桨,包含諸如 jetbrains饭尝、vscode、vim献宫、tmux 的主題插件钥平,這里有全部的插件倉庫。
在 .tmux.conf.local
中搜索plugin位置姊途,在下面增加一行:
set -g @plugin "arcticicestudio/nord-tmux"
最終效果:
安裝多版本jdk
activate the AdoptOpenJDK:
brew tap AdoptOpenJDK/openjdk
使用國內(nèi)鏡像安裝jdk8涉瘾,編輯rb文件,替換下載的url:
vim /usr/local/Homebrew/Library/Taps/adoptopenjdk/homebrew-openjdk/Casks/adoptopenjdk8.rb
cask "adoptopenjdk8" do
version "8,282:b08"
sha256 "f12d380ceae806d02c4cae23bdc601402c543692c763122286b99d8ef6059794"
# github.com/AdoptOpenJDK was verified as official when first introduced to the cask
#url "https://github.com/AdoptOpenJDK/openjdk#{version.before_comma}-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u282b08.pkg",
url "https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/mac/OpenJDK8U-jdk_x64_mac_hotspot_8u282b08.pkg",
verified: "https://github.com/AdoptOpenJDK"
appcast "https://github.com/adoptopenjdk/openjdk#{version.before_comma}-binaries/releases/latest"
name "AdoptOpenJDK 8"
desc "AdoptOpenJDK OpenJDK (Java) Development Kit"
homepage "https://adoptopenjdk.net/"
pkg "OpenJDK8U-jdk_x64_mac_hotspot_8u282b08.pkg"
postflight do
system_command "/usr/sbin/pkgutil", args: ["--pkg-info", "net.adoptopenjdk.8.jdk"], print_stdout: true
end
uninstall pkgutil: "net.adoptopenjdk.8.jdk"
end
同樣捷兰,jdk11立叛、jdk15可以替換url安裝:
vim /usr/local/Homebrew/Library/Taps/adoptopenjdk/homebrew-openjdk/Casks/adoptopenjdk11.rb
url "https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/11/jdk/x64/mac/OpenJDK11U-jdk_x64_mac_hotspot_11.0.10_9.pkg"
vim /usr/local/Homebrew/Library/Taps/adoptopenjdk/homebrew-openjdk/Casks/adoptopenjdk15.rb
url "https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/15/jdk/x64/mac/OpenJDK15U-jdk_x64_mac_hotspot_15.0.2_7.pkg"
替換url之后,執(zhí)行:
brew install --cask adoptopenjdk8
brew install --cask adoptopenjdk11
brew install --cask adoptopenjdk15
可以使用 jenv 管理jdk多版本:
brew install jenv
在 .zshrc
中添加jenv環(huán)境:
# java env
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
查看已安裝的jdk版本和路徑:
/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
15.0.2 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 15" /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home
11.0.10 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
1.8.0_282 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
添加到 jenv 中管理:
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
設(shè)置全局默認(rèn) jdk 版本:
jenv global 1.8
安裝maven
homebrew安裝:
brew install maven
設(shè)置環(huán)境(一般不需要):
# 查詢安裝路徑
mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/Cellar/maven/3.6.3_1/libexec
Java version: 15.0.2, vendor: N/A, runtime: /usr/local/Cellar/openjdk/15.0.2/libexec/openjdk.jdk/Contents/Home
Default locale: zh_CN_#Hans, platform encoding: UTF-8
OS name: "mac os x", version: "11.2.3", arch: "x86_64", family: "mac"
# 設(shè)置環(huán)境變量
vim ~/.zshrc
export M2_HOME=/usr/local/Cellar/maven/3.6.3_1/libexec
export M2=$M2_HOME/bin
安裝node
homebrew安裝n(node版本管理):
brew install n
下載最新lts版本node和npm:
n lts
設(shè)置npm鏡像:
vim ~/.zshrc
# node, npm
export NODE_MIRROR=https://npm.taobao.org/dist/
安裝python
homebrew安裝anaconda:
brew cask install anaconda
創(chuàng)建python環(huán)境
conda create -n py2 python=2.7
conda create -n py3 python=3.8
安裝vscode
jetbrains全家桶固然爽贡茅,但是我的賬號已經(jīng)過期秘蛇,又不想交錢,而且公司配的電腦是乞丐版mbp顶考,8g內(nèi)存太吃緊了彤叉。不過公司提供的開發(fā)機倒是有4 c 16g的配置,而且提供了定制化的vscode server軟件包村怪,在開發(fā)機docker啟動vscode server秽浇,然后本地mbp運行一個配套的定制化vscode client,等于直接在開發(fā)機遠(yuǎn)程coding甚负。這本來是大多數(shù)使用c++開發(fā)的同事的方案柬焕,不過參考vscode提供的support for java方案审残,加入必要的java、maven斑举、spring等插件后搅轿,完全可以作為jetbrain idea intellij的替代方案。
目前使用了近半年vscode做為主力開發(fā)ide富玷,我的低配辦公mbp已經(jīng)很少發(fā)出風(fēng)扇的聲音璧坟,習(xí)慣vscode的coding、debug流程之后赎懦,效率反而變高了不少雀鹃,畢竟再也不卡頓了。
安裝vscode:
brew install --cask visual-studio-code
去應(yīng)用市場安裝插件
Java Extension Pack(包含Java開發(fā)常用插件)
Spring Boot Extension Pack(包含springboot開發(fā)常用插件)
別名配置
git
設(shè)置git全局config:
git config --global -e
[user]
name = fakeyanss
email = yanshisangc@gmail.com
[core]
editor = vim
[alias]
# Shortening aliases
co = checkout
cob = checkout -b
f = fetch -p
c = commit
p = push
ba = branch -a
bd = branch -d
bD = branch -D
dc = diff --cached
# Feature improving aliases
st = status -sb
a = add -p
# Complex aliases
plog = log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'
tlog = log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"
rank = "!git log --format='%aN' | sort -u | while read name; do echo \"\\033[32m$name\\033[0m\t\"; git log --author=\"$name\" --pretty=tformat: --numstat | awk \"{ add += \\$1; subs += \\$2; loc += \\$1 - \\$2 } END { printf \\\"added lines: %s, removed lines: %s, total lines: %s\\n\\\", add, subs, loc }\" -; done"
mysql
安裝mycli客戶端
brew install mycli
配置常用連接別名:
vim ~/.zshrc
alias devdb='mycli -h127.0.0.1 -P3306 -Ddev -udev -pdev'
本篇文章由一文多發(fā)平臺ArtiPub自動發(fā)布