0%

程序员的 Mac(02):软件一览

为了将 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 终端软件:

zsh

Mac 默认都是使用 bash 作为 shell,我们修改为使用 zsh:

  • 查看当前 shell,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ echo $SHELL

$ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
  • 切换 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 导出环境变量 ZSH 根目录
export ZSH="$HOME/.oh-my-zsh"

# 配置 ZSH 主题
ZSH_THEME="steeef"

# 配置命令历史显示时间戳
HIST_STAMPS="mm/dd/yyyy"

# 配置启用的 zsh 插件
plugins=(z git vi-mode colored-man-pages vscode zsh-autosuggestions zsh-syntax-highlighting)

source $ZSH/oh-my-zsh.sh

# source .bashrc 中的定制配置
if [ -f $HOME/.bashrc ]; then
echo "file exist"
fi
  • 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 等命令别名来打开 vscode
  • zsh-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 清单 -->选中对应的应用即可。这个小技巧有什么用呢?在其他程序中输入中文后,切换到一个新的应用程序时,一般我们都不会注意当前输入法的中英文状态,就直接输入,此时可能会输入中文,造成乱码。通过这个设置,可以在切换到目的应用时,输入法自动切换为英文状态。

其他工具

文章最后推荐一个网站:https://macwk.com ~~。