Mac开发环境配置

软件安装

  • Xcode
  • Git
  • iTerm2
  • zsh
  • Sublime3
  • TextMate
  • MacDown
  • IntelliJ IDEA
  • MySQL
  • 0xED #编辑二进制文件
  • Dash #API文档
  • Alfred2

Xcode

装好之后要启动一次,接受软件声明,否则后面步骤会失败。

Git

Mac自带,查看下版本。

git --version

TextMate

装完之后,如下配置,在命令行下输入mate filename,可以对文件编辑

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

Homebrew

Homebrew是一个包管理器,用于在Mac上安装一些OS X没有的UNIX工具(比如著名的wget)。

在terminal中复制以下命令,跟随指引,将完成 Hombrew 安装。

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

紧接着,我们需要做一件事让通过 Hombrew 安装的程序的启动链接 (在 /usr/local/bin中)可以直接运行,无需将完整路径写出。通过以下命令将 /usr/local/bin 添加至 $PATH 环境变量中:

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

Cmd+T 打开一个新的 terminal 标签页,运行以下命令,确保 brew 运行正常。

brew doctor
  • 命令操作

安装一个包,比如widget,可以简单的运行:

brew install widget

更新 Homebrew 在服务器端上的包目录:

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 很多命令进行了简化,例如
 
 ``` bash
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

    1. 兼容 bash。

    2. 强大的历史纪录功能,输入 grep 然后用上下箭头可以翻阅你执行的所有 grep 命令。

    3. 智能拼写纠正,输入gtep mactalk * -R,系统会提示:

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

    4. 各种补全:路径补全、命令补全,命令参数补全,插件内容补全等等。触发补全只需要按一下或两下 tab 键,补全项可以使用 `ctrl+n/p/f/b`上下左右切换。比如你想杀掉 java 的进程,只需要输入 `kill java + tab键`,如果只有一个 java 进程,zsh 会自动替换为进程的 pid,如果有多个则会出现选择项供你选择。`ssh + 空格 + 两个tab键`,zsh会列出所有访问过的主机和用户名进行补全
    
    5. 智能跳转,安装了autojump之后,zsh 会自动记录你访问过的目录,通过 `j + 目录名` 可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过hadoop-1.0.0目录,输入`j hado `即可正确跳转。`j –stat` 可以看你的历史路径库。
    
    6. 目录浏览和跳转:输入 d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。
    
    7. 在当前目录下输入 .. 或 … ,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。
    
    8. 通配符搜索:`ls -l **/*.sh`,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find,文件太多就歇菜了。
    
    9. 更强的别名:请参考配置一节。
    
    10. 插件支持:请参考插件一节。


## 参考

- [我的Mac开发环境配置](http://www.jianshu.com/p/77a4349bf67b)
- [终极Shell —— ZSH](http://zhuanlan.zhihu.com/mactalk/19556676)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容

  • 在我的Mac上捣腾了好多东西,有些东西挺好用的,有些大家说好用的东西我不适应,总结了一下我用的一些玩意,主要是为了...
    千煌89阅读 33,113评论 12 228
  • 本文主要记录Mac开发环境的设置,以及一些优秀软件,使用技巧,等, 后续还会继续逐渐添加. 所有的设置,软件以及技...
    擦柱而出阅读 7,112评论 1 19
  • Xcode Xcode 是苹果官方提供的开发者工具。如果你不是一名iOS 或OS X 开发者,可以跳过安装Xcod...
    eriolchan阅读 1,580评论 0 2
  • 如果你使用惯了linux,你会对软件包管理、命令行不能自拔。由于mac的底层是类unix系统,也可以配置向linu...
    若与阅读 6,497评论 0 5
  • react-native mac开发环境配置(二) 官方教程请点击http://reactnative.cn/do...
    页面仔小杨阅读 225评论 0 1