Mac 平台常用的一些工具、软件
工欲善其事必先利其器,能够合理有效的利用工具,可以很大程度地提升工作效率。但是不能迷失在工具中,需使工具为我所用。
我且将我平时所用的一些工具与君分享。我将这些工具分享为两类,某些工具既有 图形(GUI)工具,也有命令行(CLI) 工具,我会按照其主要的使用模式来分的。
GUI 工具
Alfred
这个工具,应该是 Mac 平台下,首推的一个工具吧。随便 macOS 本身的不断升级优化,Alfred 的基本功能,已经慢慢地被 macOS 系统自带的 Spotlight 所替代。但是 Alfred 最为强大的应该是其 workflow。
Moom
Moom 是一个收费软件,是 OS X 上老牌的窗口管理应用,可以自定义自己的快捷键,最大化,分屏排列多个应用。
应用窗口排列如下图:
你可以在它的设置里面,添加自己的排列方式,并为排列设置快捷键,如图所示;
它和其他某些窗口管理工具相比,比较优秀的一点的,Moom 作用在多个屏幕之间。
比如上图,我就将Move to other Display设置成ctrl+o,这样我就可以用键盘就 chrome 移动我另外一个屏幕了。
iTerm 2
这个工具,比 macOS 系统下默认的 terminal 好用很多。你也可以用 homebrew cask 来安装 iTerm 的。iTerm 可以很方便地进行窗口、panel 的操作。
iStat Menus
iStat Menus 主要是用来现在一些系统状态信息,比如 cpu 状态、 电池状态、外网 ip 等等。很多时候,我只是有这个来看网速的。
CleanMyMac 3
这个软件类似 windows 上软件管家工具,卸载软件时,可以用到。清理系统磁盘文件时,还是很不错的。
Movist
OS X 自带的播放器很多编码格式都没有的,所以很多格式的视频是没有办法播放的。OS X 平台有很多优秀的视频播放软件,比如 VLC 等等啊,我也去试过,但是最后还是换成这个,因为这个确实很好用,拖拉进度条也是很快就响应的,而且而且这个还有一个老板键,一键静音。
SourceTree
用过 git 版本管理的,对 SourceTree 应该不陌生的。它是 git 一个跨平台的 GUI 工具。界面很不错,而且功能也是很强大的。我个人平时是使用 git 命令行居多,但是有时会 SourceTree 配合使用的。SourceTree 支持命令行的,比如在你在你的 repo 路径下,调用其命令行,则可以打开其 GUI。
Typora
这个是一个 MarkDown 软件。有很多 MarkDown 的软件,比如 Mou、MacDown、MWeb 等等,为什么我推荐这个软件,因为这个软件不像其他一个,他不想 Mou 那样一边是你的编辑的源码,一遍是预览。他就一种模式,更加让你专业于编写,你写了就立即看到。当你把光标移动到标题、图片之类的所在行时,它进入源码模式,这样你可以看到你定的几级标题,另外在每段回车的时候,它会自动段后加空行的,帮你省略了很多容易出错的操作。
另外它支持了很多主题,比如说github的主题,还有其他的一些主题,比如你在夜晚的时候编写文稿时,可以选一种 dark 主题,让你更专注于编辑本身。
Charles
这是 OS 平台的一个抓包工具,很多前端程序员、Android/iOS 程序员应该都很熟悉,功能很强大。
snap
这是一个 OS 全局快捷键的工具,可以给你常用的 app 设置一个全局快捷键。这样你就可以随便切换你的应用程序了,非常实用。
Dash
Dash 是一个 API 文档管理和 Code Snippet 管理工具,可以配合你的编辑器使用,现在很多编辑器其实都有 Dash 插件,比如在你编写 node 代码时,你忘记了一个 fs 模块的一个方法的参数是什么时候,你可以在编辑器唤起 Dash 查看这个方法的文档。
Editor(IDE)
我个人尝试过很多编辑器,最开始的 Sublime Text、Atom、WebStrom、Vim、Spacemacs、VSCode。现在主要是使用 Spacemacs。每个编辑器都有自己的特点,都有自己擅长的东西。用什么编辑器看个人喜好了。
个人觉得一个编辑器,至少得保证三点,才能称上一个合理的编辑器。
插件管理
代码补全
代码缩进、着色、主题配置等
Sublime Text
这个应该是现代编辑器的看上鼻祖吧。其优美的界面,合理的快捷键,强大的功能,退出之后就俘获了一大批程序员的芳心。
它的打开速度,编辑、保存的速度都是很快,很不错的。
Atom
Atom 是一个你可以完全自定义 UI 的编辑器,你可以对编辑器任何部分进行改造。
Vim/MacVim
传说中的编辑器之神,Vim 的强大编辑功能使得编辑的效率很快。但是 Vim 在编辑长行文件的时候,打开是很慢的。而且在打开大文件的时候,可以关闭其代码着色的。打开和编辑的速度回有很大的提升。
VSCode
VSCode 功能很强大,可以在其调试 node 代码,js 的编辑器应该只有 VSCode 和 WebStorm 两个默认支持的。其打开、编辑速度都很快,而且其代码补全也是很强大的。
Spacemacs
其实就是美化后的 emacs(神之编辑器)。Vim 不要喷我,我是被外表吸引的,但是我还是用 Spacemacs 的 vim 模式编辑文件的。Emacs 不如 Vim 被广大程序员使用,可能更多的是因为其快捷键,真的是……。但是 Spacemacs 美化了 Emacs 的外表,对其快捷键进行了梳理,基本上不需要怎么记忆。另外就是使用了很强大的插件就 Vim 引入了 Emacs,简直就是屠龙倚天在手。为什么说 Emacs 是神之编辑器呢?我个人是觉得,是因为其功能强大吧。因为 Emacs 就是伪装成编辑器的操作系统,在 Emacs 中,你可以编辑、浏览网页、看电影、…
我个人现在在使用 Spacemacs 作为主力编辑器,很多单个文件的打开,可能跟多的选择 VSCode 打开。
CLI 工具
homebrew
homebrew 是 Mac 平台下一个包管理工具,类似于 centOS 的 yum,Ubuntu 下的 apt-get。这个应该是 Mac 平台下第一安装 CLI 吧。
homebrew cask
homebrew 主要是用来安装一些 cli 的,比如安装 node、java、wget、htop 等,而 homebrew cask 则是提供的是用命令来安装 GUI 软件,比如可以用 homebrew cask 安装 qq musci、chrome、Sublime Text 等。
tmux
为什么有了 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
nvm 即 Node Version Manager,用来管理你的 node 版本的。前端工程师应该是经常使用的。
pyenv
python 的一个版本管理工具。
diff-so-fancy
git diff 时的一个美化工具。
git-flow
git-flow 是一个 git 扩展集,按 Vincent Driessen 的分支模型提供高层次的库操作。git-flow 是一个基于归并的解决方案,它并没有提供重置(rebase)特性分支的能力。
htop
Unix/Linux 系统下,一个交互式的进程查看工具。
ag
一个搜索工具,类似于 ack、grep,但是其速度极快。
httpstat
一个可视化的 curl 命令行工具,这个工具有 go 和 python 版本的,我选择的是 python 版本的,因为 OS 系统自带 python 的,这样就不需要配置 go 环境了。
proxychains-ng
terminal 的代理工具。
m-cli
OS X 系统的一些常用的 cli,你可以在命令行里,调节电脑音量、清理垃圾箱、查看磁盘等等。
PS:还有很多很有用的工具、软件的,希望大家补充。