手上一台几乎闲置的mbp mid 2015,最近升级了Big Sur,感觉焕然一新,想作为主力机使用了,毕竟硬件配置比公司给的低配mbp还好一截。按照现在习惯的开发环境,重新装了一遍(下次试试用 dotfiles^1管理)。
安装字体
1 | git clone https://github.com/powerline/fonts.git |
安装homebrew
国内网络环境太差,安装速度过慢,挂了代理依然只有几十KB的速度,只能选择换镜像源。
首先,需要已经安装了 bash、git 和 curl,以及 Command Line Tools (CLT) for Xcode, xcode-select --install
。
接着,在终端输入以下几行命令设置环境变量:
1 | BREW_TYPE="homebrew" |
最后,在终端运行以下命令以安装 Homebrew / Linuxbrew:
1 | git clone --depth=1 https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/install.git brew-install |
这样在首次安装的时候也可以使用镜像。
安装好homebrew之后,需要设置常用taps以及换源:
1 | BREW_TAPS="$(brew tap)" |
更换上游后需重新设置 git 仓库 HEAD:
1 | brew update-reset |
如有问题,可以复原仓库上游:
1 | BREW_TAPS="$(brew tap)" |
二进制预编译包bottles换源:
1 | # 临时替换 |
安装iTerm2
使用homebrew安装:
1 | brew install --cask iterm2 |
安装主题nord:
1 | wget https://raw.sevencdn.com/arcticicestudio/nord-iterm2/develop/src/xml/Nord.itermcolors |
preferences → profiles → colors → color preset → import
,选择下载的主题文件。
设置光标跳转,preferences → Keys → Preset → Natural Text Editing
。
安装oh-my-zsh
安装oh-my-zsh与命令补全、高亮:
1 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
然后修改 vim.zshrc
,找到 plugins=(git)
改为 plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
设置主题:
Clone this repo:
1 | 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:
1 | 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:
1 | brew install tmux |
oh-my-tmux
选择用oh-my-tmux一键配置:
1 | cd ~ |
后续所有tmux配置在 .tmux.conf.local
中修改即可。
主题nord-tmux
nord是一个干净的、冷色调的配色主题,提供了一组主题插件集合,包含诸如 jetbrains、vscode、vim、tmux 的主题插件,这里有全部的插件仓库。
在 .tmux.conf.local
中搜索plugin位置,在下面增加一行:
1 | set -g @plugin "arcticicestudio/nord-tmux" |
最终效果:
安装多版本jdk
activate the AdoptOpenJDK:
1 | brew tap AdoptOpenJDK/openjdk |
使用国内镜像安装jdk8,编辑rb文件,替换下载的url:
1 | vim /usr/local/Homebrew/Library/Taps/adoptopenjdk/homebrew-openjdk/Casks/adoptopenjdk8.rb |
同样,jdk11、jdk15可以替换url安装:
1 | vim /usr/local/Homebrew/Library/Taps/adoptopenjdk/homebrew-openjdk/Casks/adoptopenjdk11.rb |
替换url之后,执行:
1 | brew install --cask adoptopenjdk8 |
可以使用 jenv 管理jdk多版本:
1 | brew install jenv |
在 .zshrc
中添加jenv环境:
1 | # java env |
查看已安装的jdk版本和路径:
1 | /usr/libexec/java_home -V |
添加到 jenv 中管理:
1 | jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home |
设置全局默认 jdk 版本:
1 | jenv global 1.8 |
安装maven
homebrew安装:1
brew install maven
设置环境(一般不需要):1
2
3
4
5
6
7
8
9
10
11
12
13
14# 查询安装路径
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"
# 设置环境变量
vim ~/.zshrc
export M2_HOME=/usr/local/Cellar/maven/3.6.3_1/libexec
export M2=$M2_HOME/bin
安装node
homebrew安装n(node版本管理):
1 | brew install n |
下载最新lts版本node和npm:
1 | n lts |
设置npm镜像:
1 | vim ~/.zshrc |
安装python
homebrew安装anaconda:
1 | brew cask install anaconda |
创建python环境
1 | conda create -n py2 python=2.7 |
安装vscode
jetbrains全家桶固然爽,但是我的账号已经过期,又不想交钱,而且公司配的电脑是乞丐版mbp,8g内存太吃紧了。不过公司提供的开发机倒是有4 c 16g的配置,而且提供了定制化的vscode server软件包,在开发机docker启动vscode server,然后本地mbp运行一个配套的定制化vscode client,等于直接在开发机远程coding。这本来是大多数使用c++开发的同事的方案,不过参考vscode提供的support for java方案,加入必要的java、maven、spring等插件后,完全可以作为jetbrain idea intellij的替代方案。
目前使用了近半年vscode做为主力开发ide,我的低配办公mbp已经很少发出风扇的声音,习惯vscode的coding、debug流程之后,效率反而变高了不少,毕竟再也不卡顿了。
安装vscode:
1 | brew install --cask visual-studio-code |
去应用市场安装插件
1 | Java Extension Pack(包含Java开发常用插件) |
别名配置
git
设置git全局config:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30git config --global -e
[user]
name = fakeyanss
email = [email protected]
[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客户端1
brew install mycli
配置常用连接别名:1
2vim ~/.zshrc
alias devdb='mycli -h127.0.0.1 -P3306 -Ddev -udev -pdev'