日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

如何配置一個高效的 Mac 工作環(huán)境

 萬皇之皇 2018-01-09

關鍵時刻,第一時間送達!


一直想寫這么一篇文章,把我從同事那里學到的經(jīng)驗分享出來。市面上有很多類似的文章,寫得都非常好,讓我受益匪淺。不過我還是有一些自己總結出來的經(jīng)驗想要分享。


在工作中,我一般會在 1 到 10 人的團隊中,經(jīng)常會結對編程,即兩個人共用一臺 Mac 工作,因此也經(jīng)常會把 Mac 外接一個大顯示器、鼠標和鍵盤。我的常用開發(fā)平臺有 Java、Ruby、Node.js、Web 等,使用 JetBrains 的開發(fā)工具,比如 IntelliJ IDEA、RubyMine、WebStorm 等。



我認為“一個高效的 Mac 工作環(huán)境”有以下幾個特點:

  • 自動化
    舉個例子。手動安裝一個應用,需要1)打開瀏覽器,2)搜索應用的名字,3)打開應用網(wǎng)站,4)尋找下載鏈接和安裝方法,5)下載并等待下載完成,6)安裝下載文件,7)可能還有后續(xù)的安裝步驟。而自動化安裝一個應用,只需要1)打開終端工具,2)敲入安裝命令,3)等待完成這幾個步驟。自動化可以大大簡化操作,提高效率。

  • 統(tǒng)一
    我經(jīng)常結對編程,偶爾會遇到快捷鍵不一樣,命令不同等問題。我強烈建議,至少在一個團隊中,大家盡量使用相同的快捷鍵、命令等環(huán)境。(我記得有個實踐就是這個,可是我一直沒找到該實踐的名字和出處,求告訴)

  • 夠用
    夠用就好,如果系統(tǒng)本身已經(jīng)滿足了我的需求,我不會再使用第三方工具。

  • 效率
    效率,一切都是為了效率。


本文對于第三方應用如何安裝和使用只有最簡單的介紹,具體還請參考官方網(wǎng)站和相關文檔。


有些章節(jié)標題標注了[OCD],意思是這些章節(jié)帶有我強烈的個人色彩,如果你跟我臭味相投,歡迎借鑒,如果你并不認同,請忽略掉好了。


1. OS X


本節(jié)介紹操作系統(tǒng)本身的一些設置。


功能鍵


默認情況下,F(xiàn)1-F12 都是特殊功能,比如調(diào)節(jié)屏幕亮度。而當你需要鍵入 F1-F12 時(比如在使用 IntelliJ IDEA 的快捷鍵時),需要同時按住 Fn。這對于開發(fā)人員來說是非常不方便的。


把 F1-F12 改成標準功能鍵:選擇System Preferences > Keyboard,在Keyboard標簽頁中選中Use all F1, F2, etc. keys as standard function keys。


全鍵盤控制


當你在 Sublime Text 里關閉文件時,可能會遇到這樣的對話框:




注意這個Save按鈕跟其他兩個按鈕不太一樣,它的底色是藍的。這種按鈕被稱為默認按鈕,除了用鼠標點擊觸發(fā)外,還可以通過回車鍵觸發(fā)。


那么問題來了,如果你不想保存,想點擊Don't Save,是不是只能用鼠標點擊了呢?


并不是這樣:選擇System Preferences > Keyboard,在Shortcuts標簽頁中選擇All controls;或者使用快捷鍵?F7。之后這個對話框會變成這樣:





這個Don't Save按鈕有了一圈藍邊,這個意味著你可以通過空格鍵觸發(fā)。不僅如此,你還可以用Tab鍵把藍邊轉(zhuǎn)移到其他按鈕,來實現(xiàn)全鍵盤控制。


除了All controls這個方法,你還可以用??在包含“刪除”或“不存儲”按鈕的對話框中選擇“刪除”或“不存儲”。


在這個對話框上,你可以用Esc來執(zhí)行Cancel操作。


Spotlight 快捷鍵


中文版 OS X 的 Spotlight 的快捷鍵是?Space。這個快捷鍵有一些問題:

  • JetBrains 的 IDE,比如 IntelliJ IDEA、WebStorm 等都使用?Space作為自動完成這個最常用功能的快捷鍵。我不建議更改 IDE 的快捷鍵,而建議更改 Spotlight 的快捷鍵。

  • 對于沒有添加中文輸入法的 Mac 來說,Spotlight 的快捷鍵是?Space。英語國家的人都是這樣的。所以我建議把 Spotlight 的快捷鍵設置為?Space,跟他們一致。


輸入法快捷鍵


一般來說切換輸入法的快捷鍵是?Space。由于我建議把 Spotlight 的快捷鍵設置為?Space,所以我建議把切換輸入法的快捷鍵設置為?Space。


其他快捷鍵


讓雙手盡量多的鍵盤和快捷鍵,少使用鼠標和觸摸板,可以大大提高效率。

  • Mac keyboard shortcts蘋果官方文檔。當你在寫代碼,怎么通過快捷鍵讓光標轉(zhuǎn)移到行首、行尾、向上翻頁或者將光標移左移一個詞?都在這片文檔里。

  • Mac keyboard shortcuts for accessibility features蘋果官方文檔?;剀囉|發(fā)藍底按鈕,空格觸發(fā)藍邊按鈕,都出自這里。


設置 Trackpad 輕點來點按


默認情況下按下觸摸板才是點按(click)。我喜歡設置成用輕點作為點按:


選擇System Preferences > Trackpad,在Point & Click標簽頁中選中Tap to click。


語音


OS X 自帶了語音功能,可以用say命令讓 Mac 開口說話:


say hello


可以和&&或者;配合使用來提示你某任務已經(jīng)完成:


brew update && brew upgrade && brew cleanup ; say mission complete


通過命令行來聽取發(fā)音還是有點麻煩。其實我們幾乎可以在任何地方選中單詞,然后使用快捷鍵?+ESC發(fā)音。僅僅需要這樣設置一下:選擇System Preferences > Dictation & Speech,在Text to Speech標簽頁中選中Speak selected text when the key is pressed。


詞典


OS X 自帶了詞典(Dictionary)。你幾乎可以在任何應用中通過三指輕拍觸摸板來現(xiàn)實對應單詞的釋義。


也可以打開 Dictionary 應用來查找單詞。


可以在 Dictionary 應用中添加英漢漢英詞典。


Dock Position


默認 Dock 在屏幕下方。我們的屏幕一般都是 16:10,Dock 在屏幕下方的話會占據(jù)本來就不大的垂直空間。建議把 Dock 放到左邊或者右邊。


Remove all Dock icons[OCD]


本條目對于強迫癥適用。


默認情況下 Dock 被一堆系統(tǒng)自帶的應用占據(jù)著,而其中大部分我都很少使用,當我打開幾個常用應用后,Dock 上會有很多圖標,每個圖標都會被擠得很小。所以我會把所有 Dock 上固定的圖標都刪掉,這樣一來 Dock 上只有我打開的應用。


PS:Finder 圖標是刪不掉的。


重置 Launchpad 上圖標位置[OCD]


本條目對于強迫癥適用。


新的應用被安裝后,經(jīng)常會跑到 Launchpad 的第一屏,所以它們的位置跟安裝的順序有關系,而我更希望它們可以按照某種更加穩(wěn)定的順序排列,比如按照系統(tǒng)默認的順序:


defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock


在默認順序中,Launchpad 第一屏只有 Apple 自家應用。


2. 常用工具


本節(jié)介紹一些常用的,跟開發(fā)沒有直接關系的第三方應用及其設置。


Homebrew


包管理工具,官方稱之為The missing package manager for OS X


安裝步驟:先打開 Terminal 應用,輸入:


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


有了 brew 以后,要下載工具,比如 MySQL、Gradle、Maven、Node.js 等工具,就不需要去網(wǎng)上下載了,只要一行命令就能搞定:


brew install mysql gradle maven node


PS:安裝 brew 的時候會自動下載和安裝 Apple 的 Command Line Tools。


brew 的替代品有 MacPorts,現(xiàn)在基本沒人用它。


Homebrew Cask


brew-cask 允許你使用命令行安裝 OS X 應用。比如你可以這樣安裝 Chrome:brew cask install google-chrome。還有 Evernote、Skype、Sublime Text、VirtualBox 等都可以用 brew-cask 安裝。


brew-cask 是社區(qū)驅(qū)動的,如果你發(fā)現(xiàn) brew-cask 上的應用不是最新版本,或者缺少你某個應用,你可以自己提交 pull request。


安裝:


brew install caskroom/cask/brew-cask


應用也可以通過 App Store 安裝,而且有些應用只能通過 App Store 安裝,比如 Xcode 等一些 Apple 的應用。App Store 沒有對應的命令行工具,還需要 Apple ID。倒是更新起來很方便。


幾乎所有常用的應用都可以通過 brew-cask 安裝,而且是從應用的官網(wǎng)上下載,所以你要安裝新的應用時,建議用 brew-cask 安裝。如果你不知道應用在 brew-cask 中的 ID,可以先用brew cask search命令搜索。


iTerm2


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 asRight option (?) key acts as都設置成+ESC。


在打開新的窗口/標簽頁的時候,默認情況下新窗口總是 HOME 目錄,還需要我每次敲命令才能進入工作目錄。如果想要這個新窗口在打開的時候就自動進入工作目錄,需要如下設置:


選擇Iterm菜單 > Preferences > Profiles,選擇你在使用的 Profile(默認是Default),在General標簽頁中的Working Directory部分中選擇Reuse previous seesion's directory。


至此,Terminal 應用已經(jīng)出色的完成了其歷史使命。后面就交給 iTerm2 啦。


Oh My Zsh


默認的 Bash 是黑白的,沒有色彩。而 Oh My Zsh 可以帶你進入彩色時代。Oh My Zsh 同時提供一套插件和工具,可以簡化命令行操作。后面我們會看到很多介紹,你會看到我愛死這家伙了。


安裝:


sh -c '$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)'


目前我使用的插件有:git z sublime history rbenv bundler rake


Oh My Zsh 使用了 Z shell(zsh),一個和 Bash 相似的 Shell,而非 Bash。


在 Z shell 中,~/.zshrc是最重要的配置文件。Oh My Zsh 在安裝的時候會把當前環(huán)境的$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


Oh My Zsh 還有很多有價值的插件。


替代品有 Oh My Fish,使用了 Fishshell 作為基礎。


Git 常用別名


幾乎每個人都會使用一些方法比如 Git 別名來提高效率,幾乎所有人都會把使用git st來代替git status。然而這需要手動設置,每個人也都不完全一樣。


Oh My Zsh 提供了一套系統(tǒng)別名(alias),來達到相同的功能。比如gst作為git status的別名。而且 Git 插件是 Oh My Zsh 默認啟用的,相當于你使用了 Oh My Zsh,你就擁有了一套高效率的別名,而且還是全球通用的。是不是棒棒噠?下面是一些我常用的別名:


AliasCommand
gapagit add --patch
gc!git commit -v --amend
gclgit clone --recursive
gcleangit reset --hard && git clean -dfx
gcmgit checkout master
gcmsggit commit -m
gcogit checkout
gdgit diff
gdcagit diff --cached
glolagit log --graph --pretty = format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all
gpgit push
grbcgit rebase --continue
gstgit status
gupgit pull --rebase
gwipgit add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit -m '--wip--'


完整列表請參考:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git


Scroll Reverser


當你在瀏覽一個很長的網(wǎng)頁時,你看完了當前顯示的內(nèi)容,想要看后續(xù)的內(nèi)容,你可以在 Trackpad 上雙指上滑,或者鼠標滾輪向上滾動。這是被稱作“自然”的滾動方向。


然而在 Windows 里鼠標滾動的行為是相反的:鼠標滾輪向下滾動才會讓瀏覽器顯示后續(xù)的內(nèi)容,向上滾動會達到頁面的頂部。你可以在 OS X 的系統(tǒng)偏好設置里修改(選擇System Preferences >Trackpad,在Scroll & Zoom標簽頁中不選中Scroll direction: natural),但是這樣會同時改變鼠標滾輪的方向和 Trackpad 的方向。


要想只改變鼠標滾輪的方向,而保持 Trackpad 依舊是“自然”的,我們需要 Scroll Reverser:


brew cask install scroll-reverser


PS:這貨會讓三指點擊失效


ShiftIt


原生 OS X 下只能手動調(diào)整窗口大小,所以我們需要窗口管理工具。我用過很多窗口管理工具,可惜大部分工具都存在快捷鍵沖突的問題(對我來說主要是 IntelliJ IDEA)。ShiftIt 是少見的沒有沖突的窗口管理工具:


brew cask install shiftit


PS:ShiftIt的舊版本需要安裝 X11,最新版本已經(jīng)修正了這個問題。

替代者有 SizeUp,主要快捷鍵和 ShiftIt 相同。


當然如果喜歡 hacking,Slate 是個不錯的 hackable 的窗口管理工具。配置可以參照http:///howto/2012/11/19/using-slate/


Sublime Text 2


安裝:


brew cask install sublime-text


在命令行中指定使用 Sublime Text 打開某文件,是一個非常常用的功能,一般我們會按照 OS X Command Line 中所說執(zhí)行 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。參考:https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/sublime,這個插件和通過 brew-cask 安裝的 Sublime Text 完美兼容。

替代品有 TextMate,Sublime Text 3 等。


MacDown


MacDown 是 Markdown 編輯器。由于 Mou 一直不支持代碼高亮,我就轉(zhuǎn)向了 MacDown。完美支持GFM


我特別喜歡 Markdown,我用 Makdown 來寫文章(包括本文),寫幻燈片(reveal.js)。Markdown 可以讓我專注于內(nèi)容本身,而無需花精力在排版和樣式上。


安裝:


brew cask install macdown


z


在打開終端后,你是怎么進入項目的工作目錄?是cd xxx,?R還是用別名?


z 工具可以幫你快速進入目錄。比如在我的 Mac 上運行z cask就會進入/usr/local/Library/Taps/caskroom/homebrew-cask/Casks目錄。


這貨的安裝非常方便,甚至都不需要下載任何東西,因為它已經(jīng)整合在了 Oh My Zsh 中。編輯~/.zshrc文件,在plugins=(git)這行中加上z變成plugins=(git z),然后運行source ~/.zshrc重新加載配置文件,就可以使用 z 了。


替代品有 autojump。autojump 需要使用 brew 安裝。


Vimium


Vimium 是一個 Google Chrome 擴展,讓你可以純鍵盤操作 Chrome,把你的 Chrome 變成“黑客的瀏覽器”。


安裝方法請參考官方網(wǎng)站。


其他瀏覽器也有類似的工具,比如 FireFox 的 KeySnail


LastPass


LastPass 是管理密碼的工具,支持二次驗證,提供所有瀏覽器插件以及 Mac 桌面版本。


最重要的是,它提供 命令行 的版本,可以直接通過 brew 安裝


brew install lastpass-cli --with-pinentry


之后,只需要登陸:


lpass login you@email.com


就可以拷貝密碼或者集成到其他命令中了:


lpass show --password gmail.com -c


SourceTree


SourceTree 是 Atlassian 公司出品的一款優(yōu)秀的 Git 圖形化客戶端。如果你發(fā)現(xiàn)命令行無法滿足你的要求,可以試試 SourceTree。

安裝:


brew cask install sourcetree


用 brew-cask 安裝會自動增加命令行工具stree$PATH里。在命令行中輸入stree可以快速用 SourceTree 打開當前 Git 倉庫。詳細用法請參見stree --help。


3. 開發(fā)工具


Java


現(xiàn)在 OS X 都不會自帶 JDK 了,所以進行 Java 開發(fā)的話,需要下載 JDK。在 brew-cask 之前,我們需要從 https://developer.apple.com/downloads/ 或者 Oracle 網(wǎng)站上下載。還有更麻煩的--卸載 JDK 和升級 JDK。


JDK 安裝文件是 pkg 格式,卸載和.app不一樣,且沒有自動卸載方式。

而 brew-cask 提供了自動安裝和卸載功能,能夠自動從官網(wǎng)上下載并安裝 JDK 8。


brew cask install java


如果你需要安裝 JDK 7 或者 JDK 6,可以使用homebrew-cask-versions


brew tap caskroom/versions

brew cask install java6


在 OS X 上,你可以同時安裝多個版本的 JDK。你可以通過命令/usr/libexec/java_home -V來查看安裝了哪幾個 JDK。


那問題來了,當你運行java或者 Java 程序時使用的是哪個 JDK 呢?在 OS X 下,java也就是/usr/bin/java在默認情況下指向的是已經(jīng)安裝的最新版本。但是你可以設置環(huán)境變量JAVA_HOME來更改其指向:


$ java -version

java version '1.8.0_60'

Java(TM) SE Runtime Environment (build 1.8.0_60-b27)

Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

$ JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home java -version

java version '1.6.0_65'

Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716)

Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)


其中JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home可以用JAVA_HOME=`/usr/libexec/java_home -v 1.6`這種更加通用的方式代替。


jEnv


也可以使用 jEnv 來管理不同版本的 JDK,這個工具跟 rbenv 類似,通過當前目錄下的.java-version來決定使用哪個 JDK。jEnv 也可以用 brew 安裝。不過要使用 jEnv 要有幾個問題:


  • 需要手動把eval '$(jenv init -)'加入 profile,沒有 Oh My Zsh 插件。這點是我非常反感的。可以把eval '$(jenv init -)'加入~/.zlogin,這樣可以避免修改~/.zshrc。

  • 需要手動添加 JDK,不會自動采集系統(tǒng) JDK。跟 Ruby 不同,OS X 已經(jīng)提供/usr/libexec/java_home工具來管理安裝的 JDK。

  • 需要 jenv rehash。這個是跟 rbenv 學的。


所以我建議不要使用 jEnv。


Java[OCD]


作為一個強迫癥患者,每當我看到 Java 的錯誤寫法就想糾正過來。

當指編程語言時,Java 的正確寫法是首字母大寫,其余小寫。其他寫法比如JAVA、java都是不對的。


在其他一些地方會使用小寫的java

  • java命令

  • 原文件Main.java

  • 包名java.lang


只有在全大寫的標題里使用JAVA或者環(huán)境變量JAVA_HOME。


IntelliJ IDEA


Java 開發(fā)必備工具 IntelliJ IDEA??梢园惭b Ultimate Edition:


brew cask install intellij-idea


也可以安裝開源免費的 Community Edition:


brew cask install intellij-idea-ce


IntelliJ IDEA 有幾套內(nèi)建的快捷鍵方案(Keymap)。其中適用于 OS X 的有Mac OS XMac OS X 10.5+兩種。區(qū)別是:


  • Mac OS X方案和其他平臺上的快捷鍵類似,

  • Mac OS X 10.5+更加符合 OS X 常用的快捷鍵。


一個團隊使用不同的快捷鍵會嚴重影響效率??梢杂?code>View | Quick Switch Scheme(? Back Quote)快速切換 Keymap。


如果可以選擇的話,我建議使用Mac OS X方案。因為我經(jīng)常遇到使用 Windows 的客戶,而 Windows 平臺上的快捷鍵和Mac OS X方案類似。


rbenv


人人都需要一個 Ruby 版本管理工具。rbenv 就是這樣一個輕量級工具,它可以通過 brew 安裝。


安裝:


brew install rbenv ruby-build


然后在~/.zshrc中加上rbenv插件。否則你需要手動添加eval '$(rbenv init -)'~/zshrc或者~/.zprofile文件里。


有時候項目會依賴一些奇怪的版本號,比如ruby-2.1.0,這個時候你需要 rbenv-aliases 幫忙:


brew install rbenv-aliases


替代品有 RVM、chruby。因為 RVM 不能通過 brew 安裝,并且安裝的時候會沒有節(jié)操的修改一堆文件,所以被我早早的棄用了。chruby 也是一個輕量級工具,而且可以完美的和 Oh My Zsh 集成在一起,我看到有些生產(chǎn)環(huán)境在用它。


Ruby 常用別名


幾乎所有 Ruby 開發(fā)人員都會把bi作為bundle install的別名。Oh My Zsh 提供builder插件,這個插件提供了一套別名,比如bi、be。同時還能讓你在運行一些常用 gem 的時候直接輸入rspec,不需要be rspec這樣了。具體包括哪些命令請參這里。


Z shell 對于[]符號有特殊的處理,所以在運行rake task[parameter]的時候會報錯,你需要改成 noglob rake task[parameter]。然而 Oh My Zsh 已經(jīng)看穿這一切,自帶的 rake 插件已經(jīng)解決了這個問題:brake task[parameter]


添加插件的時候注意把rake放到bundler后面,例如這樣:


plugins=(git z sublime history rbenv bundler rake)

作者:macdao(@祁兮)

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多