为了将 Mac 打造成极致的开发工具,应用软件必不可少。这篇文章介绍本人 Mac 中重要的应用软件,对于一些使用门槛比较高的软件,后续还会通过专门的文章进行进一步介绍,这里重点是列出在各个方向领域所选择的软件。
当然,适合自己的才是最好的。
开发软件
Homebrew
Homebrew 是 Mac 上提供的一个包管理工具,类似于 CentOS 的 yum
,通过它我们可以非常方便地安装各种命令行工具和 APP。所以首先在 Mac 上安装 Homebrew,可以简化后续其他工具软件的安装,其官网为Homebrew。
安装 Homebrew:
1 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
编辑器
作为 Vim 爱好者,所有的代码浏览、编写都是通过 Vim 完成的。关于 Vim 的使用,可以阅读我的 Vim 系列文章。当然要把 Vim 作为 IDE 使用,中间还是有比较陡峭的学习曲线的,这块我也还在探索。
终端软件
Mac 的一大特色就是终端和 GUI 的相互配合,对于程序员而言,终端软件也是工作中的重度使用软件。我使用的是 iterm2 + zsh + oh-my-zsh + Sceen
的组合套件。
iterm2
使用 iterm2 代替 Mac 自带的 Console 终端软件:
- 下载地址:https://iterm2.com/
zsh
Mac 默认都是使用 bash 作为 shell,我们修改为使用 zsh:
- 查看当前 shell,
1 | $ echo $SHELL |
- 切换 shell
1 | chsh -s /bin/zsh |
- 退出重新登录,shell 变更为 zsh
1 | echo $SHELL |
oh-my-zsh
oh-my-zsh
为管理 zsh 配置提供了一套配置框架,同时它内置了大量的功能、插件、主题,使得 zsh 的使用更加高效:
- 安装 zsh
1 | sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
- 配置 zsh
ZSH 的默认配置文件为:$HOME/.zshrc
,我的 .zshrc
如下:
1 | # 导出环境变量 ZSH 根目录 |
- zsh 插件配置
oh-my-zsh
提供了大量插件,提升 zsh 的使用效率,所有需要启用的插件都在 $HOME/.zshrc
中的 plugins
配置项中设置。zsh 插件可以分为两类,自带插件和第三方插件:
- 自带插件:
oh-my-zsh
自带的插件,所在的目录为$HOME/.oh-my-zsh/plugins
- 第三方插件:第三方插件应该保存到
$ZSH_CUSTOM/plugins
,默认为$HOME/.oh-my-zsh/custom/plugins
这里介绍一些我使用的自带插件:
z
:基于目录访问历史,进行目录快速跳转git
:提供 git 命令的简写形式vi-mode
:提供 vi 风格的输入按键colored-man-pages
:提供高亮版本的 man 查询
接下来是第三方插件:
vscode
:使用 vs 等命令别名来打开 vscodezsh-autosuggestions
:记录你之前输入过的所有命令,并且自动匹配你可能想要输入命令,然后按→补全zsh-syntax-highlighting
:,这个插件直接在输入过程中就会提示你,当前命令是否正确,错误红色,正确绿色
通过如下命令安装这些第三方插件:
1 | git clone https://github.com/valentinocossar/vscode.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/vscode |
1 | git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions |
1 | git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting |
另外,在修改 zsh 配置后,可以使用 omz reload
来重新加载 zsh。
Sceen
Sceen 是一个终端复用软件,可以在一个终端会话上虚拟出多个终端窗口,这样我就可以按照 workspace 的方式来组织多个窗口,关于 Sceen 的详细用法可以参考 Screen 使用指南。
笔记软件
笔记软件是程序员的必备软件之一,无论是自己的学习笔记,还是工作中的文档写作,都会用到笔记软件。在尝试过比较大众的印象笔记、有道云笔记,以及最近新起的 obsidian,最终还是决定使用 vscode 作为我的笔记软件,主要有以下几点考虑:
- 通过 vscode 集成各种 markdown 插件,可以丝滑地完成 markdown 协作
- 通过使用 vim 插件,可以在 vscode 中得到 vim 编辑方式(直接在 vim 中写中文还是不好看)
- vscode 插件丰富,使得在 vscode 中完成一站式协作成为可能(例如集成 drawio 插件来绘制流程图)
关于 vscode 作为笔记软件的具体配置和使用方式,在下一篇文章中详细介绍。
API 文档查询
Mac 上使用的是 Dash,可以查询各个编程语言的 API 文档,支持离线查询:
其他工具
- 抓包/报文分析工具:wireshark,网络包分析器
- 思维导图:xmind,在阅读代码的时候会使用思维导图记录代码结构,设计测试 case 的时候也会用到思维导图
应用软件
生产力神器
Alfred 是 Mac 上的效率神器,通过它的内置功能,可以快速启动程序、搜索文档、打开文件、查找剪切板历史等等,另外通过它的 workflow 功能,可以自定义工作流,实现 don't repeat yourself
的目标。关于 Alfred 的使用,可以参考我的上一篇文章。
浏览器
浏览器其实也是工作生活当中使用时间比较长的软件,这里使用 chrome。
为了更加高效地操作 chrome,这里介绍一些技巧。
- vimium chrome 插件:vimium 插件能够以 vim 的方式操作浏览器,这使得我们全键盘操作浏览器成为可能,vimium 插件的详细使用说明可以参考其 github 官方文档。任何时候都可以直接输入
?
来获取详细帮助信息
文件浏览器加强
Mac 自带的 Finder 使用起来并不是那么顺手,这里我使用了一款文件浏览器加强工具:PathFinder。它提供非常多的便捷功能,简化文件管理、浏览等操作:
- 支持双窗口视图,可以在同一个界面打开两个窗口,方便对比操作
- 支持将当前文件浏览器布局进行保存,之后直接打开
- 支持多标签页浏览,同时允许将当前的标签页布局进行保存,以便下次快速打开这些标签页
- 支持书签栏(类似于浏览器)
- 强大的侧边栏功能
- 直接提供剪接功能
- 文件路径直接编辑
- 还有很多功能还在探索中……
下载地址:
窗口管理工具
目前选用的窗口管理工具是 rectangle
,目前我对窗口管理工具的使用场景是:的确需要在同一个屏幕上打开两个或者多个窗口时
,例如,同时通过多个窗口查看多个监控页面,这时就会使用 rectangle
快速平铺窗口。
该工具以某一个窗口为单位,通过快捷键迅速将其定位到屏幕的指定位置,这里介绍几个常用的快捷键:
control + option + 左箭头
:窗口占据左半屏control + option + 右箭头
:窗口占据右半屏control + option + 上箭头
:窗口占据上半屏control + option + 下箭头
:窗口占据下半屏control + option + u
:窗口占据左上control + option + i
:窗口占据右上control + option + j
:窗口占据左下control + option + k
:窗口占据右上control + option + enter
:窗口全屏control + option + command + 右箭头
:窗口移动到下一个屏幕control + option + command + 上箭头
:窗口移动到上一个屏幕
窗口切换工具
这里首先说明一下我个人比较习惯的一种窗口/应用切换方式:
- 使用
command + tab
在 Mac 应用之间切换 - 使用 command + ` 在同一个应用的多个窗口间切换
但是 command + ` 的窗口切换方式并不是非常方便,因为必须要切换到这个窗口,才能知道这个窗口是不是自己想要的窗口。这里使用了一个新的工具 Altab
,它类似于 Windows 的 Alt + tab
,可以在不同窗口(这些窗口可以是同一个应用,也可以是不同应用)之间切换,且切换时能够以缩略图的形式显示各个窗口。
输入法
输入法选择的是搜狗输入法。
关于搜狗输入法,这里也介绍一个我用到的小技巧:
- Mac 的搜狗输入法支持对某些应用自动切换到英文状态,配置方法如下:
设置 --> 高级 --> 自动切换到英文状态 --> App 清单 -->选中对应的应用即可
。这个小技巧有什么用呢?在其他程序中输入中文后,切换到一个新的应用程序时,一般我们都不会注意当前输入法的中英文状态,就直接输入,此时可能会输入中文,造成乱码。通过这个设置,可以在切换到目的应用时,输入法自动切换为英文状态。
其他工具
- 截图工具:Xnip,该工具最核心的优势是支持将截图以浮动窗口的形式展示,这样方便我们进行内容对比
- 下载地址:https://xnipapp.com/
- 番茄钟:JustFocus,每工作 25min,休息 5min。程序员必备,提醒喝水、起身活动~~
- 解压工具:The Unarchiver,简洁轻量,支持多种压缩文件格式
- 多媒体播放器:IINA
- 下载地址:https://iina.io/
- Mac 清理/管理软件:CleanMyMac X,清理磁盘、卸载应用、管理开启启动项等等
- 翻译工具:Bob,支持划词翻译
文章最后推荐一个网站:https://macwk.com ~~。