原文連接:http://www.h5con.cn/macdao/ocds-guide-to-setting-up-mac/blob/master/README.mdcss
原文連接:https://juejin.im/entry/58ca60d461ff4b006018aa2fhtml
我認爲「一個高效的 Mac 工做環境」有如下幾個特色:java
自動化node
舉個例子。手動安裝一個應用,須要1)打開瀏覽器,2)搜索應用的名字,3)打開應用網站,4)尋找下載連接和安裝方法,5)下載並等待下載完成,6)安裝下載文件,7)可能還有後續的安裝步驟。而自動化安裝一個應用,只須要1)打開終端工具,2)敲入安裝命令,3)等待完成這幾個步驟。mysql
自動化能夠大大簡化操做,提升效率。nginx
統一git
我常常結對編程,偶爾會遇到快捷鍵不同,命令不一樣等問題。我強烈建議,至少在一個團隊中,你們儘可能使用相同的快捷鍵、命令等環境。(我記得有個實踐就是這個,但是我一直沒找到該實踐的名字和出處,求告訴)程序員
夠用github
夠用就好,若是系統自己已經知足了個人需求,我不會再使用第三方工具。sql
效率
效率,一切都是爲了效率。
本節介紹操做系統自己的一些設置。
默認狀況下,F1-F12 都是特殊功能,好比調節屏幕亮度。而當你須要鍵入 F1-F12 時(好比在使用 IntelliJ IDEA 的快捷鍵時),須要同時按住 Fn。這對於開發人員來講是很是不方便的。
把 F1-F12 改爲標準功能鍵:選擇System Preferences
> Keyboard
,在Keyboard
標籤頁中選中Use all F1, F2, etc. keys as standard function keys
。
當你在 Sublime Text 裏關閉文件時,可能會遇到這樣的對話框:
注意這個Save
按鈕跟其餘兩個按鈕不太同樣,它的底色是藍的。這種按鈕被稱爲默認按鈕,除了用鼠標點擊觸發外,還能夠經過回車鍵觸發。
那麼問題來了,若是你不想保存,想點擊Don't Save
,是否是隻能用鼠標點擊了呢?
並非這樣:選擇System Preferences
> Keyboard
,在Shortcuts
標籤頁中選擇All controls
;或者使用快捷鍵⌃F7
。以後這個對話框會變成這樣:
這個Don't Save
按鈕有了一圈藍邊,這個意味着你能夠經過空格鍵觸發。不只如此,你還能夠用Tab
鍵把藍邊轉移到其餘按鈕,來實現全鍵盤控制。
除了All controls
這個方法,你還能夠用⌘⌫
來選擇Don't Save
。⌘⌫
的做用是在包含「刪除」或「不存儲」按鈕的對話框中選擇「刪除」或「不存儲」。
除了上述兩個辦法以外,竟然還有個方法!就是按⌘D
!聽說是由於按⌘+按鈕的大寫首字母
能夠觸發該按鈕。但是!我按了⌘C
和⌘S
想取消和保存都沒用!可是⌘D
真的有用!若是僅僅是這也就算了,但是我又手賤試了下 TextEdit,在關閉未保存的文件時彈出的對話框上有三個按鈕Delete
、Cancel
和Save
。然而⌘D
和⌘C
都沒用,可是!⌘S
能夠保存!我徹底不能理解!我整我的幾乎都是崩潰的,只好以咆哮體寫下這段文字。若是誰能解釋請務必告訴我,必有重謝!
⌘C
不能用應該是由於它綁定到了複製功能;而⌘D
不能用由於它的做用是從「打開」對話框或「存儲」對話框中選擇「桌面」文件夾。
在這個對話框上,你能夠用Esc
來執行Cancel
操做。
中文版 OS X 的 Spotlight 的快捷鍵是⌃Space
。這個快捷鍵有一些問題:
⌃Space
做爲自動完成這個最經常使用功能的快捷鍵。我不建議更改 IDE 的快捷鍵,而建議更改 Spotlight 的快捷鍵。⌘Space
。英語國家的人都是這樣的。因此我建議把 Spotlight 的快捷鍵設置爲⌘Space
,跟他們一致。通常來講切換輸入法的快捷鍵是⌘Space
。因爲我建議把 Spotlight 的快捷鍵設置爲⌘Space
,因此我建議把切換輸入法的快捷鍵設置爲⌥Space
。
讓雙手儘可能多的鍵盤和快捷鍵,少使用鼠標和觸摸板,能夠大大提升效率。
蘋果官方文檔。當你在寫代碼,怎麼經過快捷鍵讓光標轉移到行首、行尾、向上翻頁或者將光標移左移一個詞?都在這篇文檔裏。
Mac keyboard shortcuts for accessibility features
蘋果官方文檔。回車觸發藍底按鈕,空格觸發藍邊按鈕,都出自這裏。
默認狀況下按下觸摸板纔是點按(click)。我喜歡設置成用輕點做爲點按:
選擇System Preferences
> Trackpad
,在Point & Click
標籤頁中選中Tap to click
。
OS X 自帶了詞典(Dictionary)。你幾乎能夠在任何應用中經過三指輕拍觸摸板來現實對應單詞的釋義。
也能夠打開 Dictionary 應用來查找單詞。
能夠在 Dictionary 應用中添加英漢漢英詞典。
默認 Dock 在屏幕下方。咱們的屏幕通常都是 16:10,Dock 在屏幕下方的話會佔據原本就不大的垂直空間。建議把 Dock 放到左邊或者右邊。
我常常用到Control
鍵,但這個鍵在鍵盤的左下角,很難按到。同時我發現我不多使用Caps Lock
鍵,我通常會用Shift
鍵加字母來輸入大寫字母,或者先輸入小寫再(經過快捷鍵)轉換成大寫。
基於以上緣由,我把Caps Lock
鍵的功能改爲了Control
鍵。不少同事也都這麼作的,多是受到 HHKB 的影響。
設置方法:選擇System Preferences
> Keyboard
,在Keyboard
標籤頁中點擊Modifier Keys...
按鈕,在彈出的窗口中,把Caps Lock (⇪) Key:
對應的選項改爲⌃ Control
。
本條目對於強迫症適用。
默認狀況下 Dock 被一堆系統自帶的應用佔據着,而其中大部分我都不多使用,當我打開幾個經常使用應用後,Dock 上會有不少圖標,每一個圖標都會被擠得很小。因此我會把全部 Dock 上固定的圖標都刪掉,這樣一來 Dock 上只有我打開的應用。
PS:Finder 圖標是刪不掉的。
除了一個一個刪除圖標,也能夠經過這個命令來隱藏全部的固定圖標:
defaults write com.apple.dock static-only -boolean true; killall Dock
恢復也很是簡單:
defaults delete com.apple.dock static-only; killall Dock
PS:使用這個方法的話,Dock 上的Downloads
也會被隱藏掉。
本條目對於強迫症適用。
新的應用被安裝後,常常會跑到 Launchpad 的第一屏,因此它們的位置跟安裝的順序有關係,而我更但願它們能夠按照某種更加穩定的順序排列,好比按照系統默認的順序:
defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock
在默認順序中,Launchpad 第一屏只有 Apple 自家應用。
在多人合做的項目開發時,由於 Mac 文件系統默認是大小寫不敏感的,因此常常會出現一些詭異的問題。建立一個大小寫敏感的工做區(workspace)來解決避免這些問題:
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 100g -volname workspace ~/Documents/workspace.dmg.sparseimage
能夠經過三種方式掛載鏡像:
~/Documents/workspace.dmg.sparseimage
open ~/Documents/workspace.dmg.sparseimage
hdiutil attach ~/Documents/workspace.dmg.sparseimage
鑰匙串訪問(Keychain Access)是一個 OS X 應用程序,對我來講它最大的功能就是查看已經保存的各類帳號和密碼,包括 Wi-Fi 密碼。
本節介紹一些經常使用的,跟開發沒有直接關係的第三方應用及其設置。
包管理工具,官方稱之爲The missing package manager for OS X
。
安裝步驟見官網。
有了 brew 之後,要下載工具,好比 MySQL、Gradle、Maven、Node.js 等工具,就不須要去網上下載了,只要一行命令就能搞定:
brew install mysql gradle maven node
PS:安裝 brew 的時候會自動下載和安裝 Apple 的 Command Line Tools。
brew 的替代品有 MacPorts,如今基本沒人用它。
brew-cask 容許你使用命令行安裝 OS X 應用。好比你能夠這樣安裝 Chrome:brew cask install google-chrome
。還有 Evernote、Skype、Sublime Text、VirtualBox 等均可以用 brew-cask 安裝。
brew-cask 是社區驅動的,若是你發現 brew-cask 上的應用不是最新版本,或者缺乏你某個應用,你能夠本身提交 pull request。
安裝步驟見官網。
應用也能夠經過 App Store 安裝,並且有些應用只能經過 App Store 安裝,好比 Xcode 等一些 Apple 的應用。App Store 沒有對應的命令行工具,還須要 Apple ID。卻是更新起來很方便。
幾乎全部經常使用的應用均可以經過 brew-cask 安裝,並且是從應用的官網上下載,因此你要安裝新的應用時,建議用 brew-cask 安裝。若是你不知道應用在 brew-cask 中的 ID,能夠先用brew cask search
命令搜索。
iTerm2 是最經常使用的終端應用,是 Terminal 應用的替代品。提供了諸如Split Panes
等一羣實用特性。它默認的黑色背景讓我絕不猶豫的拋棄了 Terminal。
安裝:
brew cask install iterm2
感謝 brew-cask,咱們能夠經過命令行自動安裝 iTerm2 了。
在終端裏,除了能夠用⌃E
等快捷鍵(詳見其餘快捷鍵)以外,還可使用⌥B
、⌥F
等快捷鍵(具體能夠參考這裏)。前提是這樣設置一下:
選擇Iterm
菜單 > Preferences
> Profiles
,選擇你在使用的 Profile(默認是Default
),在Keys
標籤頁中把Left option (⌥) key acts as
和Right option (⌥) key acts as
都設置成+ESC
。
在打開新的窗口/標籤頁的時候,默認狀況下新窗口老是 HOME 目錄,還須要我每次敲命令才能進入工做目錄。若是想要這個新窗口在打開的時候就自動進入工做目錄,須要以下設置:
選擇Iterm
菜單 > Preferences
> Profiles
,選擇你在使用的 Profile(默認是Default),在General
標籤頁中的Working Directory
部分中選擇Reuse previous seesion's directory
。
至此,Terminal 應用已經出色的完成了其歷史使命。後面命令行就交給 iTerm2 啦。
在 iTerm2 中雙擊會自動選中對應的詞,三擊會選中對應的整行。選中的內容會自動進入剪貼板,不須要再按⌘C
複製。
默認的 Bash 是黑白的,沒有色彩。而 Oh My Zsh 能夠帶你進入彩色時代。Oh My Zsh 同時提供一套插件和工具,能夠簡化命令行操做。後面咱們會看到不少介紹,你會看到我愛死這傢伙了。
安裝方法見官網。
目前我使用的插件有:git z sublime history rbenv bundler rake
Oh My Zsh 使用了 Z shell(zsh),一個和 Bash 類似的 Shell,而非 Bash。
在 Z shell 中,~/.zshrc
是最重要的配置文件。Oh My Zsh 在安裝的時候會把當前環境的$PATH
寫入~/.zshrc
中。這並非我指望的行爲,由於使用了 brew,咱們基本再也不須要去定製$PATH
,而 Oh My Zsh 提供的默認$PATH
值$HOME/bin:/usr/local/bin:$PATH
是很是合適的一個值,它把$HOME/bin
加入了$PATH
,可讓咱們把本身用的腳本放到$HOME/bin
下。
因此建議把~/.zshrc
重置:
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
2016年6月17號的一次提交後,
zshrc.zsh-template
就再也不修改$PATH
了。請找到# export PATH=$HOME/bin:/usr/local/bin:$PATH
這一行,把前面的#
去掉。
Oh My Zsh 還有不少有價值的插件。
替代品有 Oh My Fish。基於 Fishshell 。
GNU stow 是管理符號連接(symlink)的一個小公舉。主要用於 symlink 你的 dotfiles 如 emacs,git,fish/zsh 的配置文件。安裝只須要
brew install stow
安裝了 stow 以後,咱們能夠開始 symlink 一些 dotfiles 了。完整使用 stow 和 dotfiles 的流程能夠參考 http://www.h5con.cn/jcouyang/dotfiles
當你的 dotfiles 都妥妥的 symlink 到 ~/dotfiles
後,push 到 github 上就不再怕換電腦了。
幾乎每一個人都會使用一些方法好比 Git 別名來提升效率,幾乎全部人都會把使用git st
來代替git status
。然而這須要手動設置,每一個人也都不徹底同樣。
Oh My Zsh 提供了一套系統別名(alias),來達到相同的功能。好比gst
做爲git status
的別名。並且 Git 插件是 Oh My Zsh 默認啓用的,至關於你使用了 Oh My Zsh,你就擁有了一套高效率的別名,並且仍是全球通用的。是否是棒棒噠?下面是一些我經常使用的別名:
Alias | Command |
---|---|
gapa | git add --patch |
gc! | git commit -v --amend |
gcl | git clone --recursive |
gclean | git reset --hard && git clean -dfx |
gcm | git checkout master |
gcmsg | git commit -m |
gco | git checkout |
gd | git diff |
gdca | git diff --cached |
glola | git log --graph --pretty = format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all |
gp | git push |
grbc | git rebase --continue |
gst | git status |
gup | git pull --rebase |
gwip | git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit -m "--wip--" |
完整列表請參考:http://www.h5con.cn/robbyrussell/oh-my-zsh/wiki/Plugin:git
當你在瀏覽一個很長的網頁時,你看完了當前顯示的內容,想要看後續的內容,你能夠在 Trackpad 上雙指上滑,或者鼠標滾輪向上滾動。這是被稱做「天然」的滾動方向。
然而在 Windows 裏鼠標滾動的行爲是相反的:鼠標滾輪向下滾動纔會讓瀏覽器顯示後續的內容,向上滾動會達到頁面的頂部。你能夠在 OS X 的系統偏好設置裏修改(選擇System Preferences
> Trackpad
,在Scroll & Zoom
標籤頁中不選中Scroll direction: natural
),可是這樣會同時改變鼠標滾輪的方向和 Trackpad 的方向。
要想只改變鼠標滾輪的方向,而保持 Trackpad 依舊是「天然」的,咱們須要 Scroll Reverser:
brew cask install scroll-reverser
PS:這貨會讓三指點擊失效
原生 OS X 下只能手動調整窗口大小,因此咱們須要窗口管理工具。我用過不少窗口管理工具,惋惜大部分工具都存在快捷鍵衝突的問題(對我來講主要是 IntelliJ IDEA)。ShiftIt 是少見的沒有衝突的窗口管理工具:
brew cask install shiftit
PS:ShiftIt的舊版本須要安裝 X11,最新版本已經修正了這個問題。
替代者有 SizeUp,主要快捷鍵和 ShiftIt 相同。
固然若是喜歡 hacking,Slate 是個不錯的 hackable 的窗口管理工具。配置能夠參照 http://thume.ca/howto/2012/11/19/using-slate/
安裝:
brew cask install sublime-text
在命令行中指定使用 Sublime Text 打開某文件,是一個很是經常使用的功能,通常咱們會按照 OS X Command Line 中所說執行 ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
來增長subl
連接。可是若是你用 brew-cask 安裝的話,恭喜你,你不須要運行這個命令,由於 brew-cask 自動幫你作了這件事情。並且你卸載 Sublime Text 的時候 brew-cask 會自動刪掉這個連接。
同時 Oh My Zsh 也提供了 Sublime Text 插件,叫作sublime
。參考:http://www.h5con.cn/robbyrussell/oh-my-zsh/tree/master/plugins/sublime,這個插件和經過 brew-cask 安裝的 Sublime Text 完美兼容。
替代品有 Atom、TextMate、Sublime Text 3 等,跟 Sublime Text 2 同樣,用 brew-cask 安裝的話命令行工具會被自動加入$PATH
。
MacDown 是 Markdown 編輯器。因爲 Mou 一直不支持代碼高亮,我就轉向了 MacDown。完美支持 GFM。
我特別喜歡 Markdown,我用 Makdown 來寫文章(包括本文),寫幻燈片(reveal.js)。Markdown 可讓我專一於內容自己,而無需花精力在排版和樣式上。
安裝:
brew cask install macdown
在打開終端後,你是怎麼進入項目的工做目錄?是cd xxx
,⌃R
仍是用別名?
z 工具能夠幫你快速進入目錄。好比在個人 Mac 上運行z cask
就會進入/usr/local/Library/Taps/caskroom/homebrew-cask/Casks
目錄。
這貨的安裝很是方便,甚至都不須要下載任何東西,由於它已經整合在了 Oh My Zsh 中。編輯~/.zshrc
文件,在plugins=(git)
這行中加上z
變成plugins=(git z)
,而後運行source ~/.zshrc
從新加載配置文件,就可使用 z 了。
替代品有 autojump。autojump 須要使用 brew 安裝。
Vimium 是一個 Google Chrome 擴展,讓你能夠純鍵盤操做 Chrome,把你的 Chrome 變成「黑客的瀏覽器」。
安裝方法請參考官方網站。
其餘瀏覽器也有相似的工具,好比 FireFox 的 KeySnail。
LastPass 是管理密碼的工具,支持二次驗證,提供全部瀏覽器插件以及 Mac 桌面版本。
最重要的是,它提供 命令行 的版本,能夠直接經過 brew 安裝
brew install lastpass-cli --with-pinentry
以後,只須要登錄:
lpass login you@email.com
就能夠拷貝密碼或者集成到其餘命令中了:
lpass show --password gmail.com -c
SourceTree 是 Atlassian 公司出品的一款優秀的 Git 圖形化客戶端。若是你發現命令行沒法知足你的要求,能夠試試 SourceTree。
安裝:
brew cask install sourcetree
用 brew-cask 安裝會自動增長命令行工具stree
到$PATH
裏。在命令行中輸入stree
能夠快速用 SourceTree 打開當前 Git 倉庫。詳細用法請參見stree --help
。
CheatSheet 可以顯示當前程序的快捷鍵列表,默認的快捷鍵是長按⌘
。
安裝:
brew cask install cheatsheet
Mac 用戶不用鼠標鍵盤的必備神器,配合大量 Workflows,習慣以後能夠大大減小操做時間。
上手簡單,調教成本在後期自定義 Workflows,不過有大量雷鋒使用者提供的現成擴展,訪問這裏挑選喜歡的,並能夠極其簡單地根據本身的須要修改。
安裝:
brew cask install alfred
快捷鍵 | 描述 |
---|---|
Command-B | 以粗體顯示所選文本,或者打開或關閉粗體顯示功能。 |
Command-I | 以斜體顯示所選文本,或者打開或關閉斜體顯示功能。 |
Command-U | 對所選文本加下劃線,或者打開或關閉加下劃線功能。 |
Command-T | 顯示或隱藏「字體」窗口. |
Command-D | 從「打開」對話框或「存儲」對話框中選擇「桌面」文件夾。 |
Control-Command-D | 顯示或隱藏所選字詞的定義。 |
Shift-Command-冒號 (:) | 顯示「拼寫和語法」窗口。 |
Command-分號 (;) | 查找文稿中拼寫錯誤的字詞。 |
Option-Delete | 刪除插入點左邊的字詞。 |
Control-H | 刪除插入點左邊的字符。也可使用 Delete 鍵。 |
Control-D | 刪除插入點右邊的字符。也可使用 Fn-Delete。 |
Fn-Delete | 在沒有向前刪除 鍵的鍵盤上向前刪除。也可使用 Control-D。 |
Control-K | 刪除插入點與行或段落末尾處之間的文本。 |
Command-Delete | 在包含「刪除」或「不存儲」按鈕的對話框中選擇「刪除」或「不存儲」。 |
Fn–上箭頭 | 向上翻頁:向上滾動一頁。 |
Fn–下箭頭 | 向下翻頁:向下滾動一頁。 |
Fn–左箭頭 | 開頭:滾動到文稿開頭。 |
Fn–右箭頭 | 結尾:滾動到文稿末尾。 |
Command–上箭頭 | 將插入點移至文稿開頭。 |
Command–下箭頭 | 將插入點移至文稿末尾。 |
Command–左箭頭 | 將插入點移至當前行的行首。 |
Command–右箭頭 | 將插入點移至當前行的行尾。 |
Option–左箭頭 | 將插入點移至上一字詞的詞首。 |
Option–右箭頭 | 將插入點移至下一字詞的詞尾。 |
Shift–Command–上箭頭 | 選中插入點與文稿開頭之間的文本。 |
Shift–Command–下箭頭 | 選中插入點與文稿末尾之間的文本。 |
Shift–Command–左箭頭 | 選中插入點與當前行行首之間的文本。 |
Shift–Command–右箭頭 | 選中插入點與當前行行尾之間的文本。 |
Shift–上箭頭 | 將文本選擇範圍擴展到上一行相同水平位置的最近字符處。 |
Shift–下箭頭 | 將文本選擇範圍擴展到下一行相同水平位置的最近字符處。 |
Shift–左箭頭 | 將文本選擇範圍向左擴展一個字符。 |
Shift–右箭頭 | 將文本選擇範圍向右擴展一個字符。 |
Option–Shift–上箭頭 | 將文本選擇範圍擴展到當前段落的段首,再按一次則擴展到下一段落的段首。 |
Option–Shift–下箭頭 | 將文本選擇範圍擴展到當前段落的段尾,再按一次則擴展到下一段落的段尾。 |
Option–Shift–左箭頭 | 將文本選擇範圍擴展到當前字詞的詞首,再按一次則擴展到後一字詞的詞首。 |
Option–Shift–右箭頭 | 將文本選擇範圍擴展到當前字詞的詞尾,再按一次則擴展到後一字詞的詞尾。 |
Control-A | 移至行或段落的開頭。 |
Control-E | 移至行或段落的末尾。 |
Control-F | 向前移動一個字符。 |
Control-B | 向後移動一個字符。 |
Control-L | 將光標或所選內容置於可見區域中央。 |
Control-P | 上移一行。 |
Control-N | 下移一行。 |
Control-O | 在插入點後插入一行。 |
Control-T | 將插入點後面的字符與插入點前面的字符交換。 |
Command–左花括號 ({) | 左對齊。 |
Command–右花括號 (}) | 右對齊。 |
Shift–Command–豎線 (|) | 居中對齊。 |
Option-Command-F | 前往搜索欄。 |
Option-Command-T | 顯示或隱藏應用中的工具欄。 |
Option-Command-C | 拷貝樣式:將所選項的格式設置拷貝到剪貼板。 |
Option-Command-V | 粘貼樣式:將拷貝的樣式應用到所選項。 |
Option-Shift-Command-V | 粘貼並匹配樣式:將周圍內容的樣式應用到粘貼在該內容中的項目。 |
Option-Command-I | 顯示或隱藏檢查器窗口。 |
Shift-Command-P | 頁面設置:顯示用於選擇文稿設置的窗口。 |
Shift-Command-S | 顯示「存儲爲」對話框或複製當前文稿。 |
Shift–Command– 減號 (-) |
縮小所選項。 |
Shift–Command– 加號 (+) |
放大所選項。Command–等號 (=) 可執行相同的功能。 |
Shift–Command– 問號 (?) |
打開「幫助」菜單。 |
參考資料