· Xcode
· Git
· iTerm2
· zsh
· Sublime3
· TextMate
· MacDown
· IntelliJ IDEA
· MySQL
· 0xED #編輯二進制文件
· Dash #API文檔
· Alfred2
· Xcode 裝好以後要啓動一次,接受軟件聲明,不然後面步驟會失敗。html
Mac自帶,查看下版本java
git --version
裝完以後,以下配置,在命令行下輸入mate filename,能夠對文件編輯python
sudo ln -s /Applications/TextMate.app/Contents/Resources/mate /usr/local/bin
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能夠優雅、簡單、快速的安裝和管理 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
顏色和字體設置
在 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
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