Mac開發環境配置

Mac軟件安裝

· Xcode
· Git
· iTerm2
· zsh
· Sublime3
· TextMate
· MacDown
· IntelliJ IDEA
· MySQL
· 0xED #編輯二進制文件
· Dash #API文檔
· Alfred2
· Xcode 裝好以後要啓動一次,接受軟件聲明,不然後面步驟會失敗。html

Git

Mac自帶,查看下版本java

git --version

Textmate

裝完以後,以下配置,在命令行下輸入mate filename,能夠對文件編輯python

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

Homebrew

Homebrew是一個包管理器,用於在Mac上安裝一些OS X沒有的UNIX工具(好比著名的wget)。git

在terminal中複製如下命令,跟隨指引,將完成 Hombrew 安裝。github

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

緊接着,咱們須要作一件事讓經過 Hombrew 安裝的程序的啓動連接 (在 /usr/local/bin中)能夠直接運行,無需將完整路徑寫出。經過如下命令將 /usr/local/bin 添加至 $PATH 環境變量中:web

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

Cmd+T 打開一個新的 terminal 標籤頁,運行如下命令,確保 brew 運行正常。chrome

brew doctor

命令操做shell

安裝一個包,好比widget,能夠簡單的運行:json

brew install widget

更新 Homebrew 在服務器端上的包目錄:vim

brew update

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

brew outdated

更新包:

brew upgrade <package_name>

Homebrew 將會把老版本的包緩存下來,以便當你想回滾至舊版本時使用。但這是比較少使用的狀況,當你想清理舊版本的包緩存時,能夠運行:

brew cleanup

查看你安裝過的包列表(包括版本號):

brew list --versions

Homebrew Cask

Homebrew Cask能夠優雅、簡單、快速的安裝和管理 OS X 圖形界面程序,好比 Google Chrome 和 Dropbox。

安裝

運行如下命令便可完成:

brew tap caskroom/cask  # 添加 Github 上的 caskroom/cask庫  
brew install brew-cask  # 安裝 brew-cask

搜索

brew cask search

文件預覽插件
有些插件可讓 Mac 上的文件預覽更有效,好比語法高亮、markdown 渲染、json 預覽等。

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,沒見過的可自行百度,很少作介紹

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

若是你常用 Alfred 啓動程序,那麼你會想 Alfred 能夠搜索 brew cask 安裝的程序,實現這些僅需運行:

brew cask alfred link


iTerm2+zsh

安裝iTerm2
顏色和字體設置
在 Keys -> Hotkey 中設置 command + option + i 快速顯示和隱藏 iTerm
在 Profiles -> Default -> Check silence bell
下載 Solarized dark iterm colors,在 Profiles -> Default -> Colors -> Load Presets 將其導入,做爲默認顏色。
安裝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

建立一個zsh的配置文件
注意:若是你已經有一個~/.zshrc文件的話,建議你先作備份。使用如下命令

cp ~/.zshrc ~/.zshrc.orig

而後開始建立zsh的配置文件

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

設置zsh爲你的默認的shell

chsh -s /bin/zsh

安裝完成以後退出當前會話從新打開一個終端窗口,你就能夠見到彩色的提示了

配置
zsh 的配置主要集中在用戶當前目錄的.zshrc裏,用 vim 或你喜歡的其餘編輯器打開.zshrc,在最下面會發現這麼一行字:

#Customize to your needs…

能夠在此處定義本身的環境變量和別名,固然,oh my zsh 在安裝時已經自動讀取當前的環境變量並進行了設置,你能夠繼續追加其餘環境變量。
接下來進行別名的設置,部分配置以下:

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 的文件名,會在 TextMate 中打開  
alias -s rb=mate     # 在命令行直接輸入 ruby 文件,會在 TextMate 中打開  
alias -s py=vi      # 在命令行直接輸入 python 文件,會用 vim 中打開,如下相似  
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不只能夠設置通用別名,還能針對文件類型設置對應的打開程序,好比:

alias -s html=mate #意思就是你在命令行輸入 hello.html,zsh會爲你自動打開 TextMat 並讀取 hello.html
alias -s gz='tar -xzvf' #表示自動解壓後綴爲 gz 的壓縮包

若是你是個主題控,還能夠玩玩 zsh 的主題。在 .zshrc 裏找到ZSH_THEME,就能夠設置主題了,默認主題是:

ZSH_THEME=」robbyrussell」

oh my zsh 提供了數十種主題,你能夠隨意選擇,也能夠編輯主題知足本身的變態需求,我採用了默認主題robbyrussell,不過作了一點小小的改動,修改~/.dotfiles/zsh/themes/robbyrussell.zsh-theme文件內容:

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%}'

對照原來的版本,把 c 改成 d,c 表示當前目錄,d 表示絕對路徑,另外在末尾增長了一個「 > 」.

插件
oh my zsh 項目提供了完善的插件體系,相關的文件在~/.oh-my-zsh/plugins目錄下,默認提供了100多種,你們能夠根據本身的實際學習和工做環境採用,想了解每一個插件的功能,只要打開相關目錄下的 zsh 文件看一下就知道了。插件也是在.zshrc裏配置,找到plugins關鍵字,你就能夠加載本身的插件了,系統默認加載 git ,你能夠在後面追加內容,以下:

plugins=(git textmate ruby autojump osx mvn gradle)

下面簡單介紹幾個:
git:當你處於一個 git 受控的目錄下時,Shell 會明確顯示 「git」和 branch,如上圖所示,另外對 git 不少命令進行了簡化,例如

gco=’git checkout’
gd=’git diff’
gst=’git status’
g=’git’

等等,熟練使用能夠大大減小 git 的命令長度,命令內容能夠參考~/.oh-my-zsh/plugins/git/git.plugin.zsh

textmate:mr能夠建立 ruby 的框架項目,tm finename 能夠用 textmate 打開指定文件。

osx:tab 加強,quick-look filename能夠直接預覽文件,man-preview grep 能夠生成 grep手冊 的pdf 版本等。

autojump:zsh 和 autojump 的組合造成了 zsh 下最強悍的插件,今天咱們主要說說這貨。
首先安裝autojump,若是你用 Mac,可使用 brew 安裝:

brew install autojump

若是是 Linux,去下載 autojump 的最新版本,好比:

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

解壓縮後進入目錄,執行

./install.sh

最後把如下代碼加入.zshrc:

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

至此,安裝、配置、插件三位一體,終極 Shell 全面登場。退出終端會話從新登陸,開始感覺 zsh 的訓疾如風!

使用 zsh

兼容 bash。

強大的歷史紀錄功能,輸入 grep 而後用上下箭頭能夠翻閱你執行的全部 grep 命令。

智能拼寫糾正,輸入gtep mactalk * -R,系統會提示:

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

·各類補全:路徑補全、命令補全,命令參數補全,插件內容補全等等。觸發補全只須要按一下或兩下 tab 鍵,補全項可使用 ctrl+n/p/f/b上下左右切換。好比你想殺掉 java 的進程,只須要輸入 kill java + tab鍵,若是隻有一個 java 進程,zsh 會自動替換爲進程的 pid,若是有多個則會出現選擇項供你選擇。ssh + 空格 + 兩個tab鍵,zsh會列出全部訪問過的主機和用戶名進行補全

·智能跳轉:安裝了autojump以後,zsh 會自動記錄你訪問過的目錄,經過 j + 目錄名 能夠直接進行目錄跳轉,並且目錄名支持模糊匹配和自動補全,例如你訪問過hadoop-1.0.0目錄,輸入j hado便可正確跳轉。j –stat 能夠看你的歷史路徑庫。

·目錄瀏覽和跳轉:輸入 d,便可列出你在這個會話裏訪問的目錄列表,輸入列表前的序號,便可直接跳轉。在當前目錄下輸入 .. 或 … ,或直接輸入當前目錄名均可以跳轉,你甚至再也不須要輸入 cd 命令了。

·通配符搜索:ls -l **/*.sh,能夠遞歸顯示當前目錄下的 shell 文件,文件少時能夠代替 find,文件太多就歇菜了。

·更強的別名:請參考配置一節。

·插件支持:請參考插件一節。

更新可能遇到的問題:

➜ ryan@lh ~  upgrade_oh_my_zsh -h
Upgrading Oh My Zsh
Cannot pull with rebase: You have unstaged changes.
Please commit or stash them.
There was an error updating. Try again later?
➜ ryan@lh ~  $ZSH
➜ ryan@lh .oh-my-zsh git:(master) ✗ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   plugins/bgnotify/bgnotify.plugin.zsh
    modified:   plugins/catimg/catimg.sh
    modified:   plugins/cloudapp/cloudapp.rb
    modified:   plugins/emacs/emacsclient.sh
    typechange: plugins/go/go.plugin.zsh
    typechange: plugins/per-directory-history/per-directory-history.plugin.zsh
    modified:   plugins/scd/scd
    modified:   plugins/wd/wd.sh
    modified:   tools/install.sh
    modified:   tools/require_tool.sh
    modified:   tools/theme_chooser.sh
    
 Untracked files:
  (use "git add <file>..." to include in what will be committed)

    themes/ryanbalfanz.zsh-theme

 no changes added to commit (use "git add" and/or "git commit -a")

是因爲修改了主題文件,致使沒法更新。解決方法:

~ $ZSH
~ git add .
~ git commit -m "theme"
~ git push 
~ git pull origin master


參考

個人Mac開發環境配置
終極Shell —— ZSH
Can’t update using upgrade_oh_my_zsh #1991

相關文章
相關標籤/搜索