原文来自我的博客
手上一台简直闲置的mbp mid 2015,最近降级了Big Sur,感觉面目一新,想作为主力机应用了,毕竟硬件配置比公司给的低配mbp还好一截。依照当初习惯的开发环境,从新装了一遍(下次试试用dotfiles治理)。
装置字体
`git clone https://github.com/powerline/fonts.git``cd fonts``./install.sh`
装置homebrew
国内网络环境太差,装置速度过慢,挂了代理仍然只有几十KB的速度,只能抉择换镜像源。
首先,须要曾经装置了 bash、git 和 curl,以及 Command Line Tools (CLT) for Xcode, xcode-select --install
。
接着,在终端输出以下几行命令设置环境变量:
`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之后,须要设置罕用taps以及换源:
`BREW_TAPS="$(brew tap)"``for tap in core cask{,-fonts,-drivers,-versions}; do` `if echo "$BREW_TAPS" | grep -qE "^homebrew/${tap}\$"; then` `# 将已有 tap 的上游设置为本镜像并设置 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`
更换上游后需从新设置 git 仓库 HEAD:
`brew update-reset`
如有问题,能够还原仓库上游:
`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``# 从新设置 git 仓库 HEAD``brew update-reset`
二进制预编译包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
,抉择下载的主题文件。
设置光标跳转,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)
设置主题:
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`
后续所有tmux配置在 .tmux.conf.local
中批改即可。
主题nord-tmux
nord是一个洁净的、冷色调的配色主题,提供了一组主题插件汇合,蕴含诸如 jetbrains、vscode、vim、tmux 的主题插件,这里有全副的插件仓库。
在 .tmux.conf.local
中搜寻plugin地位,在上面减少一行:
`set -g @plugin "arcticicestudio/nord-tmux"`
最终成果:
装置多版本jdk
activate the AdoptOpenJDK:
`brew tap AdoptOpenJDK/openjdk`
应用国内镜像装置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之后,执行:
`brew install --cask adoptopenjdk8``brew install --cask adoptopenjdk11``brew install --cask adoptopenjdk15`
能够应用 jenv 治理jdk多版本:
`brew install jenv`
在 .zshrc
中增加jenv环境:
`# 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`
设置全局默认 jdk 版本:
`jenv global 1.8`
装置maven
homebrew装置:
`brew install maven`
设置环境(个别不须要):
`# 查问装置门路``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版本治理):
`brew install n`
下载最新lts版本node和npm:
`n lts`
设置npm镜像:
`vim ~/.zshrc``# node, npm``export NODE_MIRROR=https://npm.taobao.org/dist/`
装置python
homebrew装置anaconda:
`brew cask install anaconda`
创立python环境
`conda create -n py2 python=2.7``conda create -n py3 python=3.8`
装置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:
`brew install --cask visual-studio-code`
去利用市场装置插件
`Java Extension Pack(蕴含Java开发罕用插件)``Spring Boot Extension Pack(蕴含springboot开发罕用插件)`
别名配置
git
设置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'`