本文已整合进 [http://aotu.io/mac] ,欢迎指正~

作为折腾了Mac一年多的菜鸟,虽然谈不上是Mac高手,但是有些使用的技巧个人总结分享一下,权当给新入手Mac的童鞋一个参考。

目前更新了软件篇及系统应用篇

Xcode Command Line Tools

在Mac下面的很多软件安装都会涉及到编译,依赖于Xcode Command Line Tools这个工具,Mac下面的Xcode自带了这个工具,我们可以在Terminal输入gcc或者make,然后弹出一个选项会让你安装。为了避免其它关于编译的错误,建议去AppStore下载一个Xcode

HomeBrew

HomeBrew是Mac下面的一个包管理器,方便我们安装一些Mac OS没有的UNIX工具。

  • 安装HomeBrew

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 确保HomeBrew是否正常安装

    安装好HomeBrew之后,在Terminal执行下面命令确保正常安装:

    brew doctor

    若上面命令执行过程出现 hombrew libevent not link 的错误,执行下面命令即可:

    sudo chown -R $USER $(brew --prefix)

    确保正常安装之后,可以输入brew -h查看帮助:

    Example usage:
    brew [info | home | options ] [FORMULA...]
    brew install FORMULA...
    brew uninstall FORMULA...
    brew search [foo]
    brew list [FORMULA...]
    brew update
    brew upgrade [FORMULA...]
    brew pin/unpin [FORMULA...]
    Troubleshooting:
    brew doctor
    brew install -vd FORMULA
    brew [--env | config]
    Brewing:
    brew create [URL [--no-fetch]]
    brew edit [FORMULA...]
    https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Formula-Cookbook.md
    Further help:
    man brew
    brew home
  • 使用HomeBrew

    搜索一个包,在不确定想要安装的包是否有之前,建议先搜索一下,执行下面命令:

    brew search mongod

    安装包,在搜索到想要安装的包之后,执行下面命令即可安装:

    brew install mongod

    更新HomeBrew在服务端的包结构:

    brew update

    查看安装过的包列表:

    brew list

HomeBrew Cask

由于国内墙的问题,AppStore下载应用速度总是比较慢,而且应用更新速度也是比较慢,而HomeBrew Cask可以第一时间获取到官方最新的应用,并且下载速度杠杠的。

另外,Homebrew Cask可以优雅、简单、快速的安装和管理 OS X 图形界面程序。

  • 安装HomeBrew Cask

    HomeBrew Cask依赖于Xcode以及HomeBrew,建议在装这个之前装好前面两个软件,在Terminal执行下面命令进行安装:

    brew tap caskroom/cask && brew install brew-cask
  • 使用HomeBrew Cask

    搜索想要安装的软件,在Terminal输入下面命令即可:

    brew cask search qq

    一些推荐安装的程序,一键搞定:

    rew cask install alfred cleanmymac cheatsheet dropbox google-chrome sublime-text

    如果你是一个热衷于Alfred的爱好者(不熟悉这个软件的下面会讲到),默认情况下Alfred是不会搜索到HomeBrew Cask安装的软件的,你需要额外执行下面命令关联起来才行:

    brew cask alfred link

Git

Mac 自带的 Git 版本相对比较旧,执行下面命令安装最新版本的 Git:

brew install git

由于brew安装的软件软路径在/usr/local/bin下面,而系统自带的软件在/usr/bin下面,为了让brew安装的软件覆盖系统自带的软件,需要在.bashrc/.zshrcPATH添加下面变量:

/usr/local/bin

改完之后执行下面命令让配置文件生效:

# bash shell
source ~/.bashrc
# zsh shell
source ~/.zshrc

SVN

Mac 自带的 SVN 版本也是相对较旧,执行下面命令安装最新版本的 SVN:

brew install svn

iTerm2 + zsh + tmux

Mac下面我们大概花费70%的时间在于终端打交道,在OS X El Capitan‎之前,恐怕系统默认的Terminal+bash+screen是无法跟iTerms+zsh+tmux进行匹敌的,当然热爱苹果原生App的童鞋大可不必安装这三个软件,但是作为一名前端爱好者,装上这三个软件会让你爱不释手的。

iTerm2 - 替代terminal

  • 快捷键非常丰富(不一一详细列举,只列了几个目前常用的)

    • ⌘ + 数字: 切换标签页,⌘ + 方向键 按方向切换标签页
    • ⌘ + enter: 切换全屏
    • ⌘ + d: 垂直分屏,⌘ + shift + d: 水平分屏。使用⌘ + ]⌘ + [在最近使用的分屏直接切换.而⌘ + opt + 方向键切换到指定位置的分屏。
    • ⌘ + t :新的标签页
    • ⌘ + r:清屏
  • 兼容性好

    这一点在远程连接服务器的时候才可以体验到,默认的系统终端有时候会出现乱码问题。

  • 安装iTerm2

    brew cask install iTerm2
  • 颜色和字体设置

    下载Solarized dark iterm colors,在Preferences -> Profiles -> Default -> Colors -> Load Presets 将其导入,作为默认颜色。

zsh - 号称终极终端神器

zsh,也叫oh-my-zsh,Mac是基于UNIX的一套系统,而Shell可以说是UNIX的一个外壳,在Mac里面我们可以在Terminal执行下面命令看看系统有几种shell:

cat /etc/shells

不出意外的话显示如下:

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

Mac默认使用的是bash这个shell,英文26个字母当中z排在最后,这足以说明zsh是有多强大的(当然了这是我瞎掰的),不过zsh说是终极Shell应该是一点都不过分的,列举几个优势让你看看有多强大 下面优势摘自MacTalk

  • 强大的历史纪录功能,输入 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,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。

下面介绍zsh的安装跟使用:

  • 安装

    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • 设置zsh为你的默认shell

    chsh -s /bin/zsh
  • 更多关于zsh的使用请移步这里

tmux - 优秀的终端复用软件

你是否ssh远程到服务器之后因为一不小心网络中断而得重新ssh上去?

你是否在你的编译还没结束的时候想要暂停下来,然后关掉电脑回家之后再继续编译但最后结果却是需要重新进行编译?

又或者你想过自己在终端开了一大堆的窗口但是关闭终端之后还想你的服务继续运行?

如果你上面的问题都没想过,那么你可以跳过这个软件了,等你哪一天有需要的时候再回来看看。

如果你跟我一样想过上面的其中某个问题,那么tmux强烈建议你安装。

  • window,pane的概念可以很好地进行多窗口切换,窗口分割。
  • 状态行配置很容易。
  • vi 模式
  • 复制粘贴缓冲区
  • 脚本化.通过脚本可以自动化窗口布局。

下面介绍tmux的安装跟简单使用:

  • 安装

    brew install tmux
  • 使用

    Prefix-Command前置操作:所有下面介绍的快捷键,都必须以前置操作开始。tmux默认的前置操作是CTRL+b。例如,我们想要新建一个窗体,就需要先在键盘上摁下CTRL+b,松开后再摁下n键。

Session相关操作

操作 快捷键
查看/切换session prefix s
离开Session prefix d
重命名当前Session prefix $

Window相关操作

操作 快捷键
新建窗口 prefix c
切换到上一个活动的窗口 prefix space
关闭一个窗口 prefix &
使用窗口号切换 prefix 窗口号

Pane相关操作

操作 快捷键
切换到下一个窗格 prefix o
查看所有窗格的编号 prefix q
垂直拆分出一个新窗格 prefix “
水平拆分出一个新窗格 prefix %
暂时把一个窗体放到最大 prefix z
  • 个性化定制tmux

    默认情况下的tmux风格比较简陋,推荐使用gpakoz的tmux配置,实现了如下功能:

    • 基于powerline的美化
    • 显示笔记本电池电量
    • 和Mac互通的剪切板
    • 和vim更相近的快捷键

    安装方式如下:

    cd
    rm -rf .tmux
    git clone https://github.com/gpakosz/.tmux.git
    ln -s .tmux/.tmux.conf
    cp .tmux/.tmux.conf.local .
  • 了解更多tmux可以点击这里

终端里临时设置代理

有时候使用终端命令例如 brew 需要设置代理以便FQ。

举个例子,利用brew-cask安装macdown:

brew cask install macdown

因为macdown的安装源托管在amazonaws,不幸的是aws被Q,

这时候我们可以设置终端代理为蓝灯代理,让brew-cask的相关命令顺利FQ:

ALL_PROXY=http://127.0.0.1:8787 brew cask install macdown