程序员如何优雅地使用 macOS?

关注者
24,327
被浏览
3,648,710

140 个回答

windows! linux! mac! 用起来都可以非常优雅的....

我们的宗旨是提高效率, 挥手提早下班, 老实回家写代码!



终端配置 (iTerm2 + zsh + oh-my-zsh + tmux) 和一些好用的小插件

  • oh-my-zsh theme: 自带主题已经很多了, 想折腾的, 可以自己定制一套主题
  • wting/autojump: 终端中一键直达目录, 命令行中切换目录是最常用的操作, 只要正常 cd 过目录, 下次只要记住目录名字, 就可以直接进去, 支持模糊匹配, 用过一次, 无法离开
  • zsh-users/zsh-autosuggestions: 终端历史操作记录自动补全
  • vim-mode: 喜欢 vim 键位的可以配合oh-my-zsh开启 vim mode, 当然终端中默认使用的是emacs
  • jeffkaufman/icdiff: diff 的 升级美化版, 高亮文件差异对比工具
  • jakubroztocil/httpie: curl 的升级美化版,高亮效果和返回结果格式化效果
  • ack: 更强大的文件内容检索, grep 的升级版本
  • Taskwarrior: 这个是装逼的, 终端 todo list
  • dbcli/mycli: 这个是装逼的, 终端操作数据库的时候, 自动提示
  • guarinogabriel/Mac-CLI: 这个是 mac 终端工具一个集合包, 暂时还没用过

生产力工具<Alfred>, 介绍几个常用的插件

  • 有道翻译: 翻译结果回车可到剪贴板
  • 音量控制: 直接输入音量大小, 控制音量
  • terminal finder: terminal 的目录在 finder 中打开, finder 当前目录在 terminal 中打开
  • source tree: 直接进入到指定
  • show desktop: 隐藏所有窗口, 显示桌面
  • jetBrains: 直接进入到 idea 指定项目的编辑窗口
  • Search tabs in Safari and Chrome: 搜索到 chrome 或者 safari 中 tab
  • 等等



窗口大小设置<SizeUp>, 特别是多屏幕之间窗口移动, 再也不用鼠标拖动了


觉得这几个软件可以提高我们使用的流畅度, 便捷度高,

能用快捷键尽量不要用触摸板, 能用触摸板尽量不要用鼠标,

来回移动右手, 真的好累!!!!

用好系统自带的应用。macOS 有很多被忽略但其实非常好用的自带应用,比如:

  • 系统日历:可以定时帮你开启某一个应用
  • 终端:轻松开启系统的隐藏功能
  • Automator:提高效率的自动化隐藏神器

这几个自带应用在 macOS 上来说可以说是,普通人用能打开提高效率的大门,程序员用可以发现折腾的乐趣。

那就从浅到深举几百个栗子来说说为什么好用吧

用系统日历定时打开应用

有时我们希望定时启动启动一下任务,比如下载、备份这些无人值守也能进行的工作。其实,只需简单设置一番系统日历,两步就能制作一个定时启动的任务。

在日历中添加一个日程,作为任务启动条件。比如我想让下载工具在每天凌晨自动启动,就设定凌晨一点的时间,重复设为「每天」。结束时间不用设置,因为只有任务开始时间有触发作用。你可以修改时间与重复选项,让它在特定时候启动。

展开任务详情,将提醒改为「自定」,依次填入打开文件、你想启动的应用,时间选择日程发生时。保存好这条日程,然后就等着任务自己启动吧。

最普遍的一个需求应该就是下载大文件,我们可以安排下载工具定时工作。如果你使用 P2P 下载器,害怕下载完后持续上传资料,可以看看该应用是否有「下载后自动关机」之类的选项。

终端

Mac 中有一个图标是「黑色的窗口」名为「终端 Terminal」的应用,对着窗口噼里啪啦的打下一行代码,然后电脑便自动给你执行相应的任务。

配置 Launchpad

在大家安装好应用去 Launchpad 里寻找的时候,时常会发现原生的配置让 Launchpad 看的稍许拥挤,但是在系统偏好设置里我们是无法修改的。为了让我们的 Launchpad 识别度更高并且更加美观,可以通过终端对排列方式进行修改,复制以下代码至终端即可:

defaults write com.apple.dock springboard-columns -int 8; defaults write com.apple.dock springboard-rows -int 7; defaults write com.apple.dock ResetLaunchPad -bool TRUE; killall Dock

命令中有两个数字 8 和 7,它们分别代表的是布局中的列数和行数,如果想更清除的了解该段命令,可以参考《通过终端命令改变 Launchpad 中应用图标的大小》。

除了可以对 Launchpad 的布局进行更改,还可以根据自己的喜好对北背景的模糊程度进行更改,复制以下代码至终端即可:

defaults write com.apple.dock springboard-blur-radius -int 100; killall Dock

命令中有一个数字 100,它代表的背景模糊的程度,你可以在 0 ~ 255 的范围内选择。

修改截图属性

Mac 上自带的截图非常的还用,可以区域、窗口、延时截图。但是截图会默认保存在你的桌面上,时间一长,你的桌面就会被五花八门的截图堆满。对此,我们可以新建一个文件夹专门来存放截图,新建一个 screenshots 的文件夹在桌面或者任意一个你希望它待在的地方,将下述代码复制进终端即可:

defaults write com.apple.screencapture location ~/Desktop/screenshots; killall SystemUIServer

~ 之后填写你相应的文件夹路径即可,如果不清楚路径的写法,可以打开该文件夹右键点击任何一个文件「显示简介」,复制「位置」之后的内容即可,也可以直接将文件夹拖拽至终端以此显示路径。


除此之外,你也可以使用以下命令修改截图保存的类型,例如你想保存 JPG 格式的截图:

efaults write com.apple.screencapture type jpg && killall SystemUIServe

显示隐藏文件夹

在 Windows 上隐藏文件夹大家应该都是老手了,转到 Mac 后,却发现隐藏文件夹和自己想象有那么一些不一样。为了更好的把大家的「小秘密」藏到内心最深处的地方,也可以使用两段命令来完成操作。跟前文一样,我们需要获取文件夹的路径,然后在终端中输入以下代码:

chflags hidden ~/Desktop/Hidden

你也可以使用 nohidden 重新让该文件夹显示。如果你要显示全部文件,推荐大家直接使用快捷键「Shift + Command + .」即可显示全部隐藏文件。

除此之外,如果你觉得自己桌面太乱了,但是这会又有人来看你的电脑,你可以使用一段命令行将桌面的文件全部隐藏起来,让桌面回归清爽,文件也依旧可以通过 Finder 中的桌面中找到:

defaults write com.apple.finder CreateDesktop -bool false; killall Finder

如果想重新看到桌面的图标,将 false 替换为 true 输入终端即可。

Dock 栏属性修改

Mac 中为了获得更大的可视空间,在不使用 Dock 时我们可以隐藏它。若要查看隐藏的 Dock,可以将指针移到 Dock 所在屏幕的边缘。但是这个显示速度存在了一定的延迟,为了加速这个过程,我们可以使用一段命令行,让你的隐藏 Dock 弹出的时候更加的顺滑流畅:


defaults write com.apple.Dock autohide-delay -float 0 && killall Dock

使用后的效果,可以说是非常明显了,再也不会有在「挤牙膏」的感觉。

如果在你的使用下,Dock 栏上摆满了各类 App,却发现这不是自己想要的结果。你可以通过终端来重置你的 Dock 栏,让它回到最开始的状态:

defaults delete com.apple.dock; killall Dock

让屏幕亮的更久

Mac 在运行一段时间后,会自动进入睡眠。如果大家不想 Mac 那么快的进入书面,可以采用一些第三方软件来达到此目的。其实与其下载一个软件占用 Mac 上精贵的储存,不如使用一段命令行就可以解决这些问题了。下方命令行中的 3600 单位是秒,即你希望多长时间内你的 Mac 不会进入睡眠:

caffeinate -t 3600

应用安装与更新

MAS 的连接情况大家也很清楚,时常会因为情绪不稳定导致你无法获得最完美的下载体验,况且还有很多应用并不在商店上架,或是非商店版本有更多的功能。原来的时候,我们需要查找一个又一个的官网,然后下载安装,其实这么多繁琐操作,在终端里可以更快的完成。你只需要输入:


brew cask install App

将 App 替换为你需要安装的软件的名字即可。但是使用前,需要你在电脑中安装 Homebrew Cask ,具体可以参考《再谈 Homebrew Cask 在 macOS 上安装应用的轻松感》。大多数通过 Cask 安装的软件都自带更新选项,如果没有该选项,用户依旧可以通过终端进行更新,在终端中输入brew tap buo/cask-upgrade,然后再输入下段命令即可更新全部应用:

brew cu

如果你希望安装 MAS 上的应用,也可以绕过原生的商店应用,直接采用终端进行安装。你可以先通过刚才安装的 Homebrew 安装一个我们需要的 mas ,即在终端输入:

brew install mas 

然后,可以在终端中搜索需要的软件,或者直接输入关键字段加上应用的识别码进行安装:

mas install AppID 

更多玩法:

Automator:提高效率的自动化隐藏神器

iOS 上大名鼎鼎的 Workflow 在少数派是深入人心,许多大神研究了很多高阶的玩法,利用 Workflow 提高了不少的效率。

如果你想玩转 Workflow 可以看看派君的这个回答:App Store 有哪些冷门但逆天的 app?

在 macOS 上同样有一个可以媲美 Workflow 的神器,叫 Automator,它的图标是这样的:

你也可以叫它「扛炮」

当然 Automator 本身的自由度是非常大的,自带的流程里面就有非常多的选项让你选择,你可以发挥你的脑洞做出更多事情,派君也举一两个栗子给你看看好了。

打开 Automator ,我们新建一个文稿,然后点击工作流程,然后我们就来到了 Automator 的主界面。

我们可以把界面分成三块,左侧的部分叫做资源库。Apple 已经贴心的在这里给我们准备了很多的动作。有系统级别的动作,也有相应 App 的一些动作。稍后我们编辑工作流程的时候,这些动作我们可以直接拖到右侧用,就像iOS 上的 Workflow 一样。右侧灰色的地方是动作编辑区,是我们制作动作流程的地方。那么编辑区下方就是流程运行的日志了,如果我们的工作流程有什么出错,就会在这里显示。

Automator 能做什么?

从PDF文件中提取文本

我们在 Automator 中新建一个文稿,选择应用程序,然后在左侧的资源库里搜索 PDF ,然后将 提取 PDF 文本拖入到右侧的编辑区。然后我们可以选择输出的设置,例如是纯文本或者多信息文本,是否添加页眉或者页脚。如果希望根据 PDF 文稿内容询问操作,可以在动作框下面的选项处选择「工作流程运行时显示此操作」。选择后,每次提取文本时,系统都会询问此次提取的相关设置要求。最后以应用程序格式,保存这个工作流。

将一个 PDF 文档拖到这个程序上,就可以运行这个工作流程。如果在设置时选择了「工作流程运行时显示此操作」,Automator 就会弹出一个对话框让我们选择;否则就会按照设定好的要求自动输出。

从输出的质量上看,效果还是很不错的。

更多玩法: