Mac開(kāi)發(fā)環(huán)境配置

軟件安裝

  • Xcode
  • Git
  • iTerm2
  • zsh
  • Sublime3
  • TextMate
  • MacDown
  • IntelliJ IDEA
  • MySQL
  • 0xED #編輯二進(jìn)制文件
  • Dash #API文檔
  • Alfred2

Xcode

裝好之后要啟動(dòng)一次吩坝,接受軟件聲明号醉,否則后面步驟會(huì)失敗刹勃。

Git

Mac自帶,查看下版本茅逮。

git --version

TextMate

裝完之后,如下配置焦匈,在命令行下輸入mate filename赘淮,可以對(duì)文件編輯

sudo ln -s /Applications/TextMate.app/Contents/Resources/mate /usr/local/bin

Homebrew

Homebrew是一個(gè)包管理器辕录,用于在Mac上安裝一些OS X沒(méi)有的UNIX工具(比如著名的wget)。

在terminal中復(fù)制以下命令梢卸,跟隨指引走诞,將完成 Hombrew 安裝。

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

緊接著蛤高,我們需要做一件事讓通過(guò) Hombrew 安裝的程序的啟動(dòng)鏈接 (在 /usr/local/bin中)可以直接運(yùn)行蚣旱,無(wú)需將完整路徑寫(xiě)出。通過(guò)以下命令將 /usr/local/bin 添加至 $PATH 環(huán)境變量中:

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

Cmd+T 打開(kāi)一個(gè)新的 terminal 標(biāo)簽頁(yè)戴陡,運(yùn)行以下命令塞绿,確保 brew 運(yùn)行正常。

brew doctor
  • 命令操作

安裝一個(gè)包,比如widget恤批,可以簡(jiǎn)單的運(yùn)行:

brew install widget

更新 Homebrew 在服務(wù)器端上的包目錄:

brew update

查看你的包是否需要更新:

brew outdated

更新包:

brew upgrade <package_name>

Homebrew 將會(huì)把老版本的包緩存下來(lái)异吻,以便當(dāng)你想回滾至舊版本時(shí)使用。但這是比較少使用的情況喜庞,當(dāng)你想清理舊版本的包緩存時(shí)诀浪,可以運(yùn)行:

brew cleanup

查看你安裝過(guò)的包列表(包括版本號(hào)):

brew list --versions

Homebrew Cask

Homebrew Cask可以優(yōu)雅、簡(jiǎn)單延都、快速的安裝和管理 OS X 圖形界面程序雷猪,比如 Google Chrome 和 Dropbox。

  • 安裝
    運(yùn)行以下命令即可完成:
brew tap caskroom/cask  # 添加 Github 上的 caskroom/cask庫(kù)  
brew install brew-cask  # 安裝 brew-cask
  • 搜索
brew cask search
  • 文件預(yù)覽插件
    有些插件可以讓 Mac 上的文件預(yù)覽更有效窄潭,比如語(yǔ)法高亮春宣、markdown 渲染、json 預(yù)覽等嫉你。
brew cask install qlcolorcode  
brew cask install qlstephen  
brew cask install qlmarkdown  
brew cask install quicklook-json  
brew cask install qlprettypatch  
brew cask install quicklook-csv  
brew cask install betterzipql  
brew cask install webp-quicklook  
brew cask install suspicious-package  
  • 一些推薦安裝的程序
    都是些常用的app月帝,沒(méi)見(jiàn)過(guò)的可自行百度,不多做介紹
brew cask install alfred  
brew cask install appcleaner  
brew cask install cheatsheet  
brew cask install dropbox  
brew cask install google-chrome  
brew cask install sublime-text  
brew cask install mou  

如果你經(jīng)常使用 Alfred 啟動(dòng)程序幽污,那么你會(huì)想 Alfred 可以搜索 brew cask 安裝的程序嚷辅,實(shí)現(xiàn)這些僅需運(yùn)行:

brew cask alfred link

iTerm2+zsh

  • 安裝iTerm2
  • 顏色和字體設(shè)置
    在 Keys -> Hotkey 中設(shè)置 command + option + i 快速顯示和隱藏 iTerm
    在 Profiles -> Default -> Check silence bell
    下載 Solarized dark iterm colors,在 Profiles -> Default -> Colors -> Load Presets 將其導(dǎo)入距误,作為默認(rèn)顏色簸搞。
    安裝
  • zsh,mac自帶

Oh-my-zsh

  • 安裝oh-my-zsh
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | ZSH=~/.dotfiles/zsh sh 
  • 創(chuàng)建一個(gè)zsh的配置文件
    注意:如果你已經(jīng)有一個(gè)~/.zshrc文件的話准潭,建議你先做備份趁俊。使用以下命令
cp ~/.zshrc ~/.zshrc.orig

然后開(kāi)始創(chuàng)建zsh的配置文件

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

設(shè)置zsh為你的默認(rèn)的shell

chsh -s /bin/zsh  

安裝完成之后退出當(dāng)前會(huì)話重新打開(kāi)一個(gè)終端窗口,你就可以見(jiàn)到彩色的提示了

  • 配置
    zsh 的配置主要集中在用戶當(dāng)前目錄的.zshrc里刑然,用 vim 或你喜歡的其他編輯器打開(kāi).zshrc寺擂,在最下面會(huì)發(fā)現(xiàn)這么一行字:
#Customize to your needs…  

可以在此處定義自己的環(huán)境變量和別名,當(dāng)然,oh my zsh 在安裝時(shí)已經(jīng)自動(dòng)讀取當(dāng)前的環(huán)境變量并進(jìn)行了設(shè)置怔软,你可以繼續(xù)追加其他環(huán)境變量垦细。
接下來(lái)進(jìn)行別名的設(shè)置,部分配置如下:

alias cls='clear'  
alias ll='ls -l'    
alias la='ls -a'  
alias vi='vim'  
alias javac="javac -J-Dfile.encoding=utf8"   
alias grep="grep --color=auto"  
alias -s html=mate   # 在命令行直接輸入后綴為 html 的文件名挡逼,會(huì)在 TextMate 中打開(kāi)  
alias -s rb=mate     # 在命令行直接輸入 ruby 文件括改,會(huì)在 TextMate 中打開(kāi)  
alias -s py=vi      # 在命令行直接輸入 python 文件,會(huì)用 vim 中打開(kāi)家坎,以下類(lèi)似  
alias -s js=mate  
alias -s c=mate  
alias -s java=mate  
alias -s txt=vi  
alias -s gz='tar -xzvf'  
alias -s tgz='tar -xzvf'  
alias -s zip='unzip'  
alias -s bz2='tar -xjvf'  

zsh不僅可以設(shè)置通用別名嘱能,還能針對(duì)文件類(lèi)型設(shè)置對(duì)應(yīng)的打開(kāi)程序,比如:
alias -s html=mate乘盖,意思就是你在命令行輸入 hello.html焰檩,zsh會(huì)為你自動(dòng)打開(kāi) TextMat 并讀取 hello.html憔涉; alias -s gz='tar -xzvf'订框,表示自動(dòng)解壓后綴為 gz 的壓縮包。

如果你是個(gè)主題控兜叨,還可以玩玩 zsh 的主題穿扳。在 .zshrc 里找到ZSH_THEME,就可以設(shè)置主題了国旷,默認(rèn)主題是:
ZSH_THEME=”robbyrussell”

oh my zsh 提供了數(shù)十種主題矛物,你可以隨意選擇,也可以編輯主題滿足自己的變態(tài)需求跪但,我采用了默認(rèn)主題robbyrussell履羞,不過(guò)做了一點(diǎn)小小的改動(dòng),修改~/.dotfiles/zsh/themes/robbyrussell.zsh-theme文件內(nèi)容:

PROMPT='%{$fg_bold[red]%}? %{$fg_bold[green]%}%p%{$fg[cyan]%}%d %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%}>'
#PROMPT='%{$fg_bold[red]%}? %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'

對(duì)照原來(lái)的版本屡久,把 c 改為 d忆首,c 表示當(dāng)前目錄,d 表示絕對(duì)路徑被环,另外在末尾增加了一個(gè)「 > 」.

  • 插件
    oh my zsh 項(xiàng)目提供了完善的插件體系糙及,相關(guān)的文件在~/.oh-my-zsh/plugins目錄下,默認(rèn)提供了100多種筛欢,大家可以根據(jù)自己的實(shí)際學(xué)習(xí)和工作環(huán)境采用浸锨,想了解每個(gè)插件的功能,只要打開(kāi)相關(guān)目錄下的 zsh 文件看一下就知道了版姑。插件也是在.zshrc里配置柱搜,找到plugins關(guān)鍵字,你就可以加載自己的插件了剥险,系統(tǒng)默認(rèn)加載 git 聪蘸,你可以在后面追加內(nèi)容,如下:

plugins=(git textmate ruby autojump osx mvn gradle)

下面簡(jiǎn)單介紹幾個(gè):  
 **git**:當(dāng)你處于一個(gè) git 受控的目錄下時(shí),Shell 會(huì)明確顯示 「git」和 branch宇姚,如上圖所示匈庭,另外對(duì) git 很多命令進(jìn)行了簡(jiǎn)化,例如
 
 ``` bash
gco=’git checkout’
gd=’git diff’
gst=’git status’
g=’git’

等等浑劳,熟練使用可以大大減少 git 的命令長(zhǎng)度阱持,命令內(nèi)容可以參考~/.oh-my-zsh/plugins/git/git.plugin.zsh

textmate:mr可以創(chuàng)建 ruby 的框架項(xiàng)目,tm finename 可以用 textmate 打開(kāi)指定文件魔熏。

osx:tab 增強(qiáng)衷咽,quick-look filename可以直接預(yù)覽文件,man-preview grep 可以生成 grep手冊(cè) 的pdf 版本等蒜绽。

autojump:zsh 和 autojump 的組合形成了 zsh 下最強(qiáng)悍的插件镶骗,今天我們主要說(shuō)說(shuō)這貨。
首先安裝autojump躲雅,如果你用 Mac鼎姊,可以使用 brew 安裝:

brew install autojump  

如果是 Linux,去下載 autojump 的最新版本,比如:

wget https://github.com/downloads/joelthelion/autojump/autojump_v21.1.2.tar.gz  

解壓縮后進(jìn)入目錄相赁,執(zhí)行

./install.sh  

最后把以下代碼加入.zshrc:

[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh  

至此相寇,安裝、配置钮科、插件三位一體唤衫,終極 Shell 全面登場(chǎng)。退出終端會(huì)話重新登錄绵脯,開(kāi)始感受 zsh 的訓(xùn)疾如風(fēng)佳励!

  • 使用 zsh

    1. 兼容 bash。

    2. 強(qiáng)大的歷史紀(jì)錄功能蛆挫,輸入 grep 然后用上下箭頭可以翻閱你執(zhí)行的所有 grep 命令赃承。

    3. 智能拼寫(xiě)糾正,輸入gtep mactalk * -R璃吧,系統(tǒng)會(huì)提示:

zsh: correct ‘gtep’ to ‘grep’ [nyae]?

    4. 各種補(bǔ)全:路徑補(bǔ)全楣导、命令補(bǔ)全,命令參數(shù)補(bǔ)全畜挨,插件內(nèi)容補(bǔ)全等等筒繁。觸發(fā)補(bǔ)全只需要按一下或兩下 tab 鍵,補(bǔ)全項(xiàng)可以使用 `ctrl+n/p/f/b`上下左右切換巴元。比如你想殺掉 java 的進(jìn)程毡咏,只需要輸入 `kill java + tab鍵`,如果只有一個(gè) java 進(jìn)程逮刨,zsh 會(huì)自動(dòng)替換為進(jìn)程的 pid呕缭,如果有多個(gè)則會(huì)出現(xiàn)選擇項(xiàng)供你選擇堵泽。`ssh + 空格 + 兩個(gè)tab鍵`,zsh會(huì)列出所有訪問(wèn)過(guò)的主機(jī)和用戶名進(jìn)行補(bǔ)全
    
    5. 智能跳轉(zhuǎn)恢总,安裝了autojump之后迎罗,zsh 會(huì)自動(dòng)記錄你訪問(wèn)過(guò)的目錄,通過(guò) `j + 目錄名` 可以直接進(jìn)行目錄跳轉(zhuǎn)片仿,而且目錄名支持模糊匹配和自動(dòng)補(bǔ)全纹安,例如你訪問(wèn)過(guò)hadoop-1.0.0目錄,輸入`j hado `即可正確跳轉(zhuǎn)砂豌。`j –stat` 可以看你的歷史路徑庫(kù)厢岂。
    
    6. 目錄瀏覽和跳轉(zhuǎn):輸入 d,即可列出你在這個(gè)會(huì)話里訪問(wèn)的目錄列表阳距,輸入列表前的序號(hào)塔粒,即可直接跳轉(zhuǎn)。
    
    7. 在當(dāng)前目錄下輸入 .. 或 … 筐摘,或直接輸入當(dāng)前目錄名都可以跳轉(zhuǎn)卒茬,你甚至不再需要輸入 cd 命令了。
    
    8. 通配符搜索:`ls -l **/*.sh`蓄拣,可以遞歸顯示當(dāng)前目錄下的 shell 文件扬虚,文件少時(shí)可以代替 find,文件太多就歇菜了球恤。
    
    9. 更強(qiáng)的別名:請(qǐng)參考配置一節(jié)。
    
    10. 插件支持:請(qǐng)參考插件一節(jié)荸镊。


## 參考

- [我的Mac開(kāi)發(fā)環(huán)境配置](http://www.reibang.com/p/77a4349bf67b)
- [終極Shell —— ZSH](http://zhuanlan.zhihu.com/mactalk/19556676)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末咽斧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子躬存,更是在濱河造成了極大的恐慌张惹,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岭洲,死亡現(xiàn)場(chǎng)離奇詭異宛逗,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)盾剩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)雷激,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人告私,你說(shuō)我怎么就攤上這事屎暇。” “怎么了驻粟?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵根悼,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)挤巡,這世上最難降的妖魔是什么剩彬? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮矿卑,結(jié)果婚禮上襟衰,老公的妹妹穿的比我還像新娘。我一直安慰自己粪摘,他們只是感情好瀑晒,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著徘意,像睡著了一般苔悦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上椎咧,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天玖详,我揣著相機(jī)與錄音,去河邊找鬼勤讽。 笑死蟋座,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的脚牍。 我是一名探鬼主播向臀,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼诸狭!你這毒婦竟也來(lái)了券膀?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤驯遇,失蹤者是張志新(化名)和其女友劉穎芹彬,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體叉庐,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舒帮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了陡叠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片玩郊。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖匾竿,靈堂內(nèi)的尸體忽然破棺而出瓦宜,到底是詐尸還是另有隱情,我是刑警寧澤岭妖,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布临庇,位于F島的核電站反璃,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏假夺。R本人自食惡果不足惜淮蜈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望已卷。 院中可真熱鬧梧田,春花似錦、人聲如沸侧蘸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)讳癌。三九已至穿稳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晌坤,已是汗流浹背逢艘。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留骤菠,地道東北人它改。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像商乎,于是被迫代替她去往敵國(guó)和親央拖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容