Mac 平台常用的一些工具、软件
工欲善其事必先利其器,能够合理有效的利用工具,可以很大程度地提升工作效率。但是不能迷失在工具中,需使工具为我所用。
我且将我平时所用的一些工具与君分享。我将这些工具分享为两类,某些工具既有图形(GUI)工具,也有命令行(CLI) 工具,我会按照其主要的使用模式来分的。
GUI 工具
-
这个工具,应该是 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 的编辑器,你可以对编辑器任何部分的 UI 进行改造。
Vim/MacVim
传说中的编辑器之神,Vim 的强大编辑功能使得其编辑效率很快。但是 Vim 在编辑长行文件的时候,打开是很慢的,比如打开 js 压缩文件,就很慢。在操作大文件的时候,可以关闭其代码着色的、显示行号,可以使其速度有很大的提升。
VSCode 功能很强大,可以在其调试 node 代码,js 的编辑器应该只有 VSCode 和 WebStorm 这两个默认支持的。其打开、编辑速度都很快,而且其代码补全也是很强大的。
其实就是美化后的 emacs(神之编辑器)。Vim 党不要喷我,我是被外表吸引的,不过我还是用 Spacemacs 的 vim 模式编辑文件的。Emacs 不如 Vim 被广大程序员使用,可能更多的是因为其快捷键,真的是……😂。但是 Spacemacs 美化了 Emacs 的外表,对其快捷键进行了梳理,基本上不需要怎么记忆。另外就是使用了很强大的插件将 Vim 的编辑引入了 Emacs,简直就是屠龙倚天在手。为什么说 Emacs 是神之编辑器呢?我个人是觉得,是因为其功能强大吧。因为 Emacs 就是伪装成编辑器的操作系统,在 Emacs 中,你可以编辑、浏览网页、看电影、…
我个人现在在使用 Spacemacs 作为主力编辑器,很多单个文件的打开,可能更多的选择 VSCode 打开。最近也在使用 emacs client 启动,所以在 Spacemacs 打开单个文件也是很快的。
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。
tmux 主要是操作 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,你可以在命令行里,调节电脑音量、清理垃圾箱、查看磁盘等等。