Mac 平臺常用的一些工具、軟件
工欲善其事必先利其器,能夠合理有效的利用工具,可以很大程度地提升工作效率。但是不能迷失在工具中,需使工具為我所用。
我且將我平時所用的一些工具與君分享。我將這些工具分享為兩類,某些工具既有 圖形(GUI)工具,也有命令行(CLI) 工具,我會按照其主要的使用模式來分的。
GUI 工具
Alfred
這個工具,應該是 Mac 平臺下,首推的一個工具吧。隨便 macOS 本身的不斷升級優化,Alfred 的基本功能,已經慢慢地被 macOS 系統自帶的 Spotlight 所替代。但是 Alfred 最為強大的應該是其 workflow。
Moom
Moom 是一個收費軟件,是 OS X 上老牌的窗口管理應用,可以自定義自己的快捷鍵,最大化,分屏排列多個應用。
應用窗口排列如下圖:
你可以在它的設置里面,添加自己的排列方式,并為排列設置快捷鍵,如圖所示;
它和其他某些窗口管理工具相比,比較優秀的一點的,Moom 作用在多個屏幕之間。
比如上圖,我就將Move to other Display設置成ctrl+o,這樣我就可以用鍵盤就 chrome 移動我另外一個屏幕了。
這個工具,比 macOS 系統下默認的 terminal 好用很多。你也可以用 homebrew cask 來安裝 iTerm 的。iTerm 可以很方便地進行窗口、panel 的操作。
iStat Menus 主要是用來現在一些系統狀態信息,比如 cpu 狀態、 電池狀態、外網 ip 等等。很多時候,我只是有這個來看網速的。
這個軟件類似 windows 上軟件管家工具,卸載軟件時,可以用到。清理系統磁盤文件時,還是很不錯的。
OS X 自帶的播放器很多編碼格式都沒有的,所以很多格式的視頻是沒有辦法播放的。OS X 平臺有很多優秀的視頻播放軟件,比如 VLC 等等啊,我也去試過,但是最后還是換成這個,因為這個確實很好用,拖拉進度條也是很快就響應的,而且而且這個還有一個老板鍵,一鍵靜音。
用過 git 版本管理的,對 SourceTree 應該不陌生的。它是 git 一個跨平臺的 GUI 工具。界面很不錯,而且功能也是很強大的。我個人平時是使用 git 命令行居多,但是有時會 SourceTree 配合使用的。SourceTree 支持命令行的,比如在你在你的 repo 路徑下,調用其命令行,則可以打開其 GUI。
這個是一個 MarkDown 軟件。有很多 MarkDown 的軟件,比如 Mou、MacDown、MWeb 等等,為什么我推薦這個軟件,因為這個軟件不像其他一個,他不想 Mou 那樣一邊是你的編輯的源碼,一遍是預覽。他就一種模式,更加讓你專業于編寫,你寫了就立即看到。當你把光標移動到標題、圖片之類的所在行時,它進入源碼模式,這樣你可以看到你定的幾級標題,另外在每段回車的時候,它會自動段后加空行的,幫你省略了很多容易出錯的操作。
另外它支持了很多主題,比如說github的主題,還有其他的一些主題,比如你在夜晚的時候編寫文稿時,可以選一種 dark 主題,讓你更專注于編輯本身。
這是 OS 平臺的一個抓包工具,很多前端程序員、Android/iOS 程序員應該都很熟悉,功能很強大。
這是一個 OS 全局快捷鍵的工具,可以給你常用的 app 設置一個全局快捷鍵。這樣你就可以隨便切換你的應用程序了,非常實用。
Dash 是一個 API 文檔管理和 Code Snippet 管理工具,可以配合你的編輯器使用,現在很多編輯器其實都有 Dash 插件,比如在你編寫 node 代碼時,你忘記了一個 fs 模塊的一個方法的參數是什么時候,你可以在編輯器喚起 Dash 查看這個方法的文檔。
Editor(IDE)
我個人嘗試過很多編輯器,最開始的 Sublime Text、Atom、WebStrom、Vim、Spacemacs、VSCode。現在主要是使用 Spacemacs。每個編輯器都有自己的特點,都有自己擅長的東西。用什么編輯器看個人喜好了。
個人覺得一個編輯器,至少得保證三點,才能稱上一個合理的編輯器。
插件管理
代碼補全
代碼縮進、著色、主題配置等
這個應該是現代編輯器的看上鼻祖吧。其優美的界面,合理的快捷鍵,強大的功能,退出之后就俘獲了一大批程序員的芳心。
它的打開速度,編輯、保存的速度都是很快,很不錯的。
Atom 是一個你可以完全自定義 UI 的編輯器,你可以對編輯器任何部分進行改造。
Vim/MacVim
傳說中的編輯器之神,Vim 的強大編輯功能使得編輯的效率很快。但是 Vim 在編輯長行文件的時候,打開是很慢的。而且在打開大文件的時候,可以關閉其代碼著色的。打開和編輯的速度回有很大的提升。
VSCode 功能很強大,可以在其調試 node 代碼,js 的編輯器應該只有 VSCode 和 WebStorm 兩個默認支持的。其打開、編輯速度都很快,而且其代碼補全也是很強大的。
?
其實就是美化后的 emacs(神之編輯器)。Vim 不要噴我,我是被外表吸引的,但是我還是用 Spacemacs 的 vim 模式編輯文件的。Emacs 不如 Vim 被廣大程序員使用,可能更多的是因為其快捷鍵,真的是……。但是 Spacemacs 美化了 Emacs 的外表,對其快捷鍵進行了梳理,基本上不需要怎么記憶。另外就是使用了很強大的插件就 Vim 引入了 Emacs,簡直就是屠龍倚天在手。為什么說 Emacs 是神之編輯器呢?我個人是覺得,是因為其功能強大吧。因為 Emacs 就是偽裝成編輯器的操作系統,在 Emacs 中,你可以編輯、瀏覽網頁、看電影、…
我個人現在在使用 Spacemacs 作為主力編輯器,很多單個文件的打開,可能跟多的選擇 VSCode 打開。
CLI 工具
homebrew 是 Mac 平臺下一個包管理工具,類似于 centOS 的 yum,Ubuntu 下的 apt-get。這個應該是 Mac 平臺下第一安裝 CLI 吧。
homebrew 主要是用來安裝一些 cli 的,比如安裝 node、java、wget、htop 等,而 homebrew cask 則是提供的是用命令來安裝 GUI 軟件,比如可以用 homebrew cask 安裝 qq musci、chrome、Sublime Text 等。
為什么有了 iTrem2,還要使用 tmux 呢?二者的定位其實不是一樣的,iTerm2 是一個 terminal 的終端,而 tmux 是一個 terminal multiplexer。
主要是 terminal 窗口的切換。其實很運維工程師都是喜歡用這個的,作為一個前端工程師可能就不需要了。但是我想說的是,很多時候你是需要的,應該很多時候,你在開發過程中,你是需要跑一些自動化工具的腳本,如果你是用 git 命令行的話,那你很多時候合并代碼,diff 代碼,可能需要開很多 terminal 窗口的,當你開的窗口很多的時候,僅僅依靠 iTerm 上的 title 來找之前的 terminal 的話會不夠直接的。
而 tmux 中,你可以為一系列相關的操作新建一個 session
你可以很方便地根據你的 session 名字在不同的 terminal 之間切換。
在每一個 session 中可以建多個 window,在每個 window 你有可以建多個 panel。每個 session、window 都可以命令,這樣你可以根據命名快速切換。
最主要的 session 可以保存的,即使你退出 tmux 了,你下次也可以在進入之前的 session 的。
github 上有很多大牛的 tmux 配置文件,個人推薦gpakosz的配置。
nvm 即 Node Version Manager,用來管理你的 node 版本的。前端工程師應該是經常使用的。
python 的一個版本管理工具。
git diff 時的一個美化工具。
git-flow 是一個 git 擴展集,按 Vincent Driessen 的分支模型提供高層次的庫操作。git-flow 是一個基于歸并的解決方案,它并沒有提供重置(rebase)特性分支的能力。
Unix/Linux 系統下,一個交互式的進程查看工具。
一個搜索工具,類似于 ack、grep,但是其速度極快。
一個可視化的 curl 命令行工具,這個工具有 go 和 python 版本的,我選擇的是 python 版本的,因為 OS 系統自帶 python 的,這樣就不需要配置 go 環境了。
terminal 的代理工具。
OS X 系統的一些常用的 cli,你可以在命令行里,調節電腦音量、清理垃圾箱、查看磁盤等等。
PS:還有很多很有用的工具、軟件的,希望大家補充。