Total Pageviews

Sunday, 14 January 2024

Mac 设置指南


如何配置一个高效的 Mac 工作环境

English Version

本文的最初版本写于 2015 年,那时候我用的是一台 2013 款的 MacBook Pro,操作系统刚升级到 OS X El Capitan 10.11。

转眼到了 2019 年,我刚刚拿到 2019 款的 MacBook Pro,操作系统是 macOS Catalina 10.15。我特意没有从 Time Machine 恢复,而选择从头配置。当我按照本文配置时我发现,很多地方都变了。本次更新也由此而来。

想要怀旧的可以来这里:2015 Version

Table of Contents

  1. macOS

  2. 常用工具

  3. 开发工具

一直想写这么一篇文章,把我从同事那里学到的经验分享出来。市面上有很多类似的文章,写得都非常好,让我受益匪浅。不过我还是有一些自己总结出来的经验想要分享。

在工作中,我一般会在 1 到 10 人的团队中,经常会结对编程,即两个人共用一台 Mac 工作,因此也经常会把 Mac 外接一个大显示器、鼠标和键盘。我的常用开发平台有 Java、Ruby、Node.js、Web 等,使用 JetBrains 的开发工具,比如 IntelliJ IDEA、RubyMine、WebStorm 等。

我深知自己的知识有限,所以写下本文以便和大家切磋交流。同时更有效率的方法和更好的工具也在不断涌现,我也贪心的希望把更好的方法和工具都收集更到到这里,我会不断更新本文,让它尽量不过时。最新内容请访问:https://github.com/macdao/ocds-guide-to-setting-up-mac。欢迎通过 GitHub 的Issues或者直接Pull Requests方式来分享你的经验。期待你的反馈。

我认为“一个高效的 Mac 工作环境”有以下几个特点:

  • 自动化

    举个例子。手动安装一个应用,需要1)打开浏览器,2)搜索应用的名字,3)打开应用网站,4)寻找下载链接和安装方法,5)下载并等待下载完成,6)安装下载文件,7)可能还有后续的安装步骤。而自动化安装一个应用,只需要1)打开终端工具,2)敲入安装命令,3)等待完成这几个步骤。

    自动化可以大大简化操作,提高效率。

  • 统一

    我经常结对编程,偶尔会遇到快捷键不一样,命令不同等问题。我强烈建议,至少在一个团队中,大家尽量使用相同的快捷键、命令等环境。(我记得有个实践就是这个,可是我一直没找到该实践的名字和出处,求告诉)

     同时,为了方便统一,我会优先考虑默认配置。只有当默认配置明显不如定制配置时,我才会采用定制配置。

  • 够用

    够用就好,如果系统本身已经满足了我的需求,我不会再使用第三方工具。

  • 效率

    效率,一切都是为了效率。

本文对于第三方应用如何安装和使用只有最简单的介绍,具体还请参考官方网站和相关文档。

有些章节标题标注了 [OCD],意思是这些章节带有我强烈的个人色彩,如果你跟我臭味相投,欢迎借鉴,如果你并不认同,请忽略掉好了。

PS:虽然本文名为“强迫症”,但其实并不是真正意义上的强迫症,真正意义上的强迫症是一种会对患者的日常生活产生负面影响的疾病。

1. macOS

本节介绍操作系统本身的一些设置。

功能键

默认情况下,F1-F12 都是特殊功能,比如调节屏幕亮度。而当你需要键入 F1-F12 时(比如在使用 IntelliJ IDEA 的快捷键时),需要同时按住 Fn。这对于开发人员来说是非常不方便的。

把 F1-F12 改成标准功能键:选择System Preferences > Keyboard,在Keyboard标签页中选中Use F1, F2, etc. keys as standard function keys

PS:在带 Touch Bar  的机型上,只能修改外接键盘的对应设定:在Keyboard标签页中选中Use F1, F2, etc. keys as standard function keys on external keyboards

全键盘控制

当你在 Sublime Text 里关闭文件时,可能会遇到这样的对话框:

dialog-box-without-all-controls

注意这个Save按钮跟其他两个按钮不太一样,它的底色是蓝的。这种按钮被称为默认按钮,除了用鼠标点击触发外,还可以通过回车键触发。

那么问题来了,如果你不想保存,想点击Don't Save,是不是只能用鼠标点击了呢?

并不是这样:选择System Preferences > Keyboard,在Shortcuts标签页中选择Use keyboard navigation to move focus between controls。之后这个对话框会变成这样:

dialog-box-with-all-controls

这个Don't Save按钮有了一圈蓝边,这个意味着你可以通过空格键触发。不仅如此,你还可以用Tab键把蓝边转移到其他按钮,来实现全键盘控制。

除了All controls这个方法,你还可以用Command-Delete来选择Don't SaveCommand-Delete的作用是在包含“删除”或“不存储”按钮的对话框中选择“删除”或“不存储”。

除了上述两个办法之外,居然还有个方法!就是按Command-D!据说是因为按Command-按钮的大写首字母可以触发该按钮。可是!我按了Command-CCommand-S想取消和保存都没用!但是Command-D真的有用!如果仅仅是这也就算了,可是我又手贱试了下 TextEdit,在关闭未保存的文件时弹出的对话框上有三个按钮DeleteCancelSave。然而Command-DCommand-C都没用,但是!Command-S可以保存!我完全不能理解!我整个人几乎都是崩溃的,只好以咆哮体写下这段文字。如果谁能解释请务必告诉我,必有重谢!

Command-C不能用应该是因为它绑定到了复制功能;而Command-D不能用因为它的作用是从“打开”对话框或“存储”对话框中选择“桌面”文件夹。

在这个对话框上,你可以用Esc来执行Cancel操作。

Spotlight 快捷键

Spotlight 的快捷键(不论是英文版还是中文版)都已经统一成了Command-空格键,此处没有什么修改建议。

输入法快捷键

输入法我一直使用系统自带的拼音输入法。

由于 JetBrains 的 IDE,比如 IntelliJ IDEA、WebStorm 等都使用Control-空格键作为自动完成这个最常用功能的快捷键。这和输入法切换的快捷键冲突了。我不建议更改 IDE 的快捷键,因此我建议更改输入法的快捷键。而由于 macOS 已经默认使用Caps Lock键来切换输入法,这个非常方便,所以我建议将Control-空格键快捷键释放。

进入System Preferences > Keyboard,在Shortcuts标签页中选中Input Sources进行修改。

双拼输入法

从2020年2月,我开始使用双拼输入法,替代使用了多年的全拼输入法。和全拼(也就是最常见的“拼音输入法”)类似,双拼是一种基于拼音的,高效的输入法。它将拼音的声母和韵母分别映射到某个按键上,一个字只需要击键两次,一次声母,一次韵母。和全拼一样,主流的输入法软件都支持双拼。

想了解更多可以参考我写的文章双拼:一天内就能掌握的高效拼音输入法

其他快捷键

让双手尽量多的键盘和快捷键,少使用鼠标和触摸板,可以大大提高效率。

设置 Trackpad 轻点来点按

默认情况下按下触摸板才是点按(click)。我喜欢设置成用轻点作为点按:

选择System Preferences > Trackpad,在Point & Click标签页中选中Tap to click

语音

macOS 自带了语音功能,可以用say命令让 Mac 开口说话:

say hello

可以和&&或者;配合使用来提示你某任务已经完成:

brew update && brew upgrade && brew cleanup ; say mission complete

通过命令行来听取发音还是有点麻烦。其实我们几乎可以在任何地方选中单词,然后使用快捷键Option-Esc发音。仅仅需要这样设置一下:选择System Preferences > Accessibility, 选中左边的Speech,然后勾选Speak selected text when the key is pressed

词典

macOS 自带了词典(Dictionary)。你几乎可以在任何应用中通过重按触摸板来现实对应单词的释义。如果你更喜欢三指轻拍触摸板,可以在System Preferences > Trackpad,在Point & Click标签页中把Look up & data detectors改成Tap with three fingers

也可以打开 Dictionary 应用来查找单词。

可以在 Dictionary 应用中添加英汉汉英词典。

Dock Position

默认 Dock 在屏幕下方。我们的屏幕一般都是 16:10,Dock 在屏幕下方的话会占据本来就不大的垂直空间。建议把 Dock 放到右边或者左边。

选择System Preferences > Dock,在Position on screen:中选择不同的位置。

更改 Caps Lock 键为 Control 键

我经常用到Control键,但这个键在键盘的左下角,很难按到。同时我发现我很少使用Caps Lock键,我一般会用Shift键加字母来输入大写字母,或者先输入小写再(通过快捷键)转换成大写。

基于以上原因,我把Caps Lock键的功能改成了Control键。很多同事也都这么做的,可能是受到 HHKB 的影响。

设置方法:选择System Preferences > Keyboard,在Keyboard标签页中点击Modifier Keys...按钮,在弹出的窗口中,把Caps Lock (⇪) Key:对应的选项改成⌃ Control

PS:由于现在Caps Lock用来切换输入法,所以如果要把Caps Lock键改成Control,那还需要设置输入法快捷键。我正在尝试习惯不更改Caps Lock

Remove all Dock icons [OCD]

本条目对于强迫症适用。

默认情况下 Dock 被一堆系统自带的应用占据着,而其中大部分我都很少使用,当我打开几个常用应用后,Dock 上会有很多图标,每个图标都会被挤得很小。所以我会把所有 Dock 上固定的图标都删掉,这样一来 Dock 上只有我打开的应用。

PS:Finder 图标是删不掉的。

除了一个一个删除图标,也可以通过这个命令来删除所有的固定图标:

defaults write com.apple.dock static-only -bool true; killall Dock

PS:Dock 上的Downloads也会被隐藏掉。

如何恢复(之前只改变static-only的方法已经不生效了):

defaults delete com.apple.dock; killall Dock

PS:使用这个方法会让所有的 Dock 配置重置,包括 Dock Position。

重置 Launchpad 上图标位置 [OCD]

本条目对于强迫症适用。

新的应用被安装后,经常会跑到 Launchpad 的第一屏,所以它们的位置跟安装的顺序有关系,而我更希望它们可以按照某种更加稳定的顺序排列,比如按照系统默认的顺序:

defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock

在默认顺序中,Launchpad 第一屏只有 Apple 自家应用。

Keychain Access

钥匙串访问(Keychain Access)是一个 macOS 应用程序,对我来说它最大的功能就是查看已经保存的各种账号和密码,包括 Wi-Fi 密码。

三指拖动

我习惯于三指拖动窗口。设置方法:选择System Preferences > Accessibility,选中左边Pointer Control菜单,打开Trackpad Options…,选中Enable draggingthree finger drag

在 menu bar 上显示日期

我喜欢让菜单栏上显示日期,这样可以方便的看到当天的日期。设置方法:选择System Preferences > Date & Time,在Clock标签页选中Show date

高效的光标

默认情况下,光标的闪烁速度和移动速度是相当慢的。当你需要用退格键删除大段文字的时候,会觉得痛不欲生,因为即使长按退格键,光标也移动的很缓慢。

调节光标移动速度:选择System Preferences > Keyboard,在Keyboard标签页中把Key Repeat以及Delay Until Repeat的滑块拉到最右端,从此享受飞一般的速度。

创建大小写敏感的工作区

unverified

在多人合作的项目开发时,因为 Mac 文件系统默认是大小写不敏感的,所以经常会出现一些诡异的问题。创建一个大小写敏感的工作区(workspace)来解决避免这些问题:

hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 100g -volname workspace ~/Documents/workspace.dmg.sparseimage

可以通过三种方式挂载镜像:

  • 直接双击打开~/Documents/workspace.dmg.sparseimage
  • open ~/Documents/workspace.dmg.sparseimage
  • hdiutil attach ~/Documents/workspace.dmg.sparseimage

2. 常用工具

本节介绍一些常用的,跟开发没有直接关系的第三方应用及其设置。

Homebrew

包管理工具,官方称之为The missing package manager for macOS

安装步骤见官网。

有了 Homebrew 以后,要下载工具,比如 Wget、Gradle、Maven 等工具,就不需要去网上下载了,只要一行命令就能搞定:

brew install wget gradle maven

PS:安装 Homebrew 的时候会自动下载和安装 Apple 的 Command Line Tools。

执行install的时候经常会执行更新,有时候会比较慢,我们可以设置环境变量HOMEBREW_NO_AUTO_UPDATE关闭更新:

echo export HOMEBREW_NO_AUTO_UPDATE=1 >> ~/.zprofile

Homebrew 的替代品有 MacPorts,我没有用过。

使用国内镜像安装 Homebrew

已经失效

有时候在国内访问 GitHub 非常慢,导致安装 Homebrew 总是失败。我查阅了一些资料,可以使用国内镜像来安装 Homebrew。我这里给出一个方便的方法。

先看原理。官网上安装 Homebrew 的方法是执行命令:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

在这个install脚本里,和 GitHub 有关的有两步:

  • 通过 Git 获取https://github.com/Homebrew/brew
  • 通过brew update --forceTap Homebrew/core

知道了之后,我们就可以直接修改下这个安装命令,将https://github.com/Homebrew/brew替换成国内镜像并暂时跳过brew update --force;然后使用镜像手动Tap Homebrew/core;最后执行brew update --force完成安装:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install | sed 's#"https://github.com/Homebrew/brew"#"https://mirrors.ustc.edu.cn/brew.git"#' | sed '/system.*brew.*update/s/^/#/')" && \
    brew tap homebrew/core https://mirrors.ustc.edu.cn/homebrew-core.git && \
    brew update --force

PS:这是一句命令,不是三句。

本方法基于 https://github.com/Homebrew/install/blob/c744a716f9845988d01e6e238eee7117b8c366c9/install,如果install脚本更新有可能导致本方法失效。若发现失效请提交issue

另外下载安装包也可以使用国内镜像,具体参考:https://lug.ustc.edu.cn/wiki/mirrors/help/homebrew-bottles

Homebrew Cask

Homebrew Cask 允许你使用命令行安装 macOS 应用。比如你可以这样安装 Chrome:brew cask install google-chrome。还有 Evernote evenote、Sublime Text sublime-text、VirtualBox virtualbox、Docker docker、Firefox firefox、Visual Studio Code visual-studio-code 等都可以用 Homebrew Cask 安装。

Homebrew Cask 是社区驱动的,如果你发现 Homebrew Cask 上的应用不是最新版本,或者缺少你某个应用,你可以自己提交 pull request。

目前 Homebrew Cask 已经和 Homebrew 深度集成,不需要单独安装了。

应用也可以通过 App Store 安装,而且有些应用只能通过 App Store 安装,比如 Xcode 等一些 Apple 的应用。App Store 没有对应的命令行工具,并且还需要 Apple ID,相对有些麻烦。倒是更新起来很方便。

几乎所有常用的应用都可以通过 Homebrew Cask 安装,而且是从应用的官网上下载,所以你要安装新的应用时,建议用 Homebrew Cask 安装。如果你不知道应用在 Homebrew Cask 中的 ID,可以先用brew search命令搜索。

使用国内镜像安装 Homebrew Cask

可以使用国内镜像安装 Homebrew Cask:

brew tap homebrew/cask https://mirrors.ustc.edu.cn/homebrew-cask.git

iTerm2

iTerm2 是最常用的终端应用,是 Terminal 应用的替代品。提供了诸如Split Panes一群实用特性。它默认的黑色背景让我毫不犹豫的抛弃了 Terminal。

安装:

brew cask install iterm2

感谢 Homebrew Cask,我们可以通过命令行自动安装 iTerm2 了。

在终端里,除了可以用Control-E等快捷键(详见其他快捷键)之外,还可以使用Option-BOption-F等快捷键(具体可以参考这里)。前提是这样设置一下:

选择Iterm2菜单 > Preferences > Profiles,选择你在使用的 Profile(默认是Default),在Keys标签页中把Left option (⌥) key acts asRight option (⌥) key acts as都设置成ESC+

在打开新的窗口/标签页的时候,默认情况下新窗口总是 HOME 目录,还需要我每次敲命令才能进入工作目录。如果想要这个新窗口在打开的时候就自动进入工作目录,需要如下设置:

选择Iterm2菜单 > Preferences > Profiles,选择你在使用的 Profile(默认是Default),在General标签页中的Working Directory部分中选择Reuse previous seesion's directory

至此,Terminal 应用已经出色的完成了其历史使命。后面命令行就交给 iTerm2 啦。

在 iTerm2 中双击会自动选中对应的词,三击会选中对应的整行。选中的内容会自动进入剪贴板,不需要再按Command-C复制。

Oh My Zsh

默认的 Bash (Catalina 已经默认使用 Zsh)是黑白的,没有色彩。而 Oh My Zsh 可以带你进入彩色时代。Oh My Zsh 同时提供一套插件和工具,可以简化命令行操作。后面我们会看到很多介绍,你会看到我爱死这家伙了。

安装方法见官网。

目前我使用的插件有:git z sublime history rbenv bundler rake

Oh My Zsh 使用了 Z shell(Zsh),一个和 Bash 相似的 Shell,而非 Bash。

在 Zsh 中,~/.zshrc是最重要的配置文件。Oh My Zsh 在安装的时候会把当前环境的$PATH写入~/.zshrc中。这并不是我期望的行为,因为使用了 Homebrew,我们基本不再需要去定制$PATH,而 Oh My Zsh 提供的默认$PATH$HOME/bin:/usr/local/bin:$PATH是非常合适的一个值,它把$HOME/bin加入了$PATH,可以让我们把自己用的脚本放到$HOME/bin下。

所以建议把~/.zshrc重置:

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

2016年6月17号的一次提交后,zshrc.zsh-template就不再修改$PATH了。如果需要,可以找到# export PATH=$HOME/bin:/usr/local/bin:$PATH这一行,把前面的#去掉。

Oh My Zsh 还有很多有价值的插件

替代品有基于 fish shellOh My Fish,基于 Bash 的 Oh My Bash

Git 常用别名

几乎每个人都会使用一些方法比如 Git 别名来提高效率,几乎所有人都会把使用git st来代替git status。然而这需要手动设置,每个人也都不完全一样。

Oh My Zsh 提供了一套系统别名(alias),来达到相同的功能。比如gst作为git status的别名。而且 Git 插件是 Oh My Zsh 默认启用的,相当于你使用了 Oh My Zsh,你就拥有了一套高效率的别名,而且还是全球通用的。是不是棒棒哒?下面是一些我常用的别名:

Alias Command
gapa git add --patch
gc! git commit -v --amend
gcl git clone --recurse-submodules
gclean git clean -id
gcm git checkout master
gcmsg git commit -m
gco git checkout
gd git diff
gdca git diff --cached
glola git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --all
gp git push
grbc git rebase --continue
gst git status
gup git pull --rebase
gwip git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign -m "--wip-- [skip ci]"

完整列表请参考:https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git/

Scroll Reverser

unverified

当你在浏览一个很长的网页时,你看完了当前显示的内容,想要看后续的内容,你可以在 Trackpad 上双指上滑,或者鼠标滚轮向上滚动。这是被称作“自然”的滚动方向。

然而在 Windows 里鼠标滚动的行为是相反的:鼠标滚轮向下滚动才会让浏览器显示后续的内容,向上滚动会达到页面的顶部。你可以在 macOS 的系统偏好设置里修改(选择System Preferences > Trackpad,在Scroll & Zoom标签页中不选中Scroll direction: natural),但是这样会同时改变鼠标滚轮的方向和 Trackpad 的方向。

要想只改变鼠标滚轮的方向,而保持 Trackpad 依旧是“自然”的,我们需要 Scroll Reverser:

brew cask install scroll-reverser

PS:这货会让三指点击失效

ShiftIt

该工具在 macOS 12 的某次更新后就无法工作了。根据其作者建议,我更换成了Hammerspoon ShiftIt

原生 macOS 下只能手动调整窗口大小,所以我们需要窗口管理工具。我用过很多窗口管理工具,可惜大部分工具都存在快捷键冲突的问题(对我来说主要是 IntelliJ IDEA)。ShiftIt 是少见的没有冲突的窗口管理工具:

brew cask install shiftit

替代者有 SizeUp,主要快捷键和 ShiftIt 相同。

当然如果喜欢 hacking,Slate 是个不错的 hackable 的窗口管理工具。配置可以参照 http://thume.ca/howto/2012/11/19/using-slate/

Hammerspoon ShiftIt

一个基于 Hammerspoon,模拟 Shiftit 窗口管理功能的方法。安装步骤稍显繁琐。安装方法见链接。

Visual Studio Code

我现在使用 Visual Studio Code 更多一些。Visual Studio Code 同样也有 Homebrew Cask 自动建立code链接,也有 Oh My Zsh 插件支持。

brew cask install visual-studio-code

Sublime Text 3

安装:

brew cask install sublime-text

在命令行中指定使用 Sublime Text 打开某文件,是一个非常常用的功能,一般我们会按照 OS X Command Line 中所说执行 ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl 来增加subl链接。但是如果你用 Homebrew Cask 安装的话,恭喜你,你不需要运行这个命令,因为 Homebrew Cask 自动帮你做了这件事情。而且你卸载 Sublime Text 的时候 Homebrew Cask 会自动删掉这个链接。

同时 Oh My Zsh 也提供了 Sublime Text 插件,叫做sublime。参考:https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins#sublime,这个插件和通过 Homebrew Cask 安装的 Sublime Text 完美兼容。

替代品有 Atom、TextMate、Sublime Text 2 等,跟 Sublime Text 3 一样,用 Homebrew Cask 安装的话命令行工具会被自动加入$PATH

MacDown

MacDown 是 Markdown 编辑器。由于 Mou 一直不支持代码高亮,我就转向了 MacDown。完美支持 GFM

我特别喜欢 Markdown,我用 Makdown 来写文章(包括本文),写幻灯片(reveal.js)。Markdown 可以让我专注于内容本身,而无需花精力在排版和样式上。

安装:

brew cask install macdown

Homebrew Cask 还会增加macdown命令,可以在命令行方便的使用 MacDown 打开文件。

z

在打开终端后,你是怎么进入项目的工作目录?是cd xxxControl-R还是用别名?

z 工具可以帮你快速进入目录。比如在我的 Mac 上运行z cask就会进入/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask目录。

这货的安装非常方便,甚至都不需要下载任何东西,因为它已经整合在了 Oh My Zsh 中。编辑~/.zshrc文件,在plugins=(git)这行中加上z变成plugins=(git z),然后运行source ~/.zshrc重新加载配置文件,就可以使用 z 了。

替代品有 autojump。autojump 需要使用 Homebrew 安装。

Vimium

Vimium 是一个 Google Chrome 扩展,让你可以纯键盘操作 Chrome,把你的 Chrome 变成“黑客的浏览器”。

安装方法请参考官方网站。

其他浏览器也有类似的工具,比如 Firefox 的 Vimium-FF。

安装字体

我经常会使用一些开源字体,比如Open Sans。之前我会从网上寻找并下载字体,后来使用 SkyFonts 安装字体,直到我发现了 homebrew-cask-fonts

brew tap homebrew/cask-fonts
brew cask install font-open-sans

LastPass

unverified

LastPass 是管理密码的工具,支持二次验证,提供所有浏览器插件以及 Mac 桌面版本。

最重要的是,它提供命令行的版本,可以直接通过 Homebrew 安装

brew install lastpass-cli --with-pinentry

之后,只需要命令:

lpass login you@email.com

就可以拷贝密码或者集成到其他命令中了:

lpass show --password gmail.com -c

SourceTree

unverified

SourceTree 是 Atlassian 公司出品的一款优秀的 Git 图形化客户端。如果你发现命令行无法满足你的要求,可以试试 SourceTree。

安装:

brew cask install sourcetree

用 Homebrew Cask 安装会自动增加命令行工具stree$PATH里。在命令行中输入stree可以快速用 SourceTree 打开当前 Git 仓库。详细用法请参见stree --help

CheatSheet

unverified

CheatSheet 能够显示当前程序的快捷键列表,默认的快捷键是长按Command

CheatSheet

安装:

brew cask install cheatsheet

Alfred

unverified

Mac 用户不用鼠标键盘的必备神器,配合大量 Workflows,习惯之后可以大大减少操作时间。

上手简单,调教成本在后期自定义 Workflows,不过有大量雷锋使用者提供的现成扩展,访问这里挑选喜欢的,并可以极其简单地根据自己的需要修改。

安装:

brew cask install alfred

Stow

unverified

GNU Stow 是管理符号链接(symlink)的一个小公举。主要用于 symlink 你的 dotfiles 如 Emacs、Git、fish shell/Zsh 的配置文件。安装只需要

brew install stow

安装了 stow 之后,我们可以开始 symlink 一些 dotfiles 了。完整使用 stow 和 dotfiles 的流程可以参考 https://github.com/jcouyang/dotfiles

当你的 dotfiles 都妥妥的 symlink 到 ~/dotfiles 后,push 到 GitHub 上就再也不怕换电脑了。

3. 开发工具

asdf-vm

asdf-vm 是一个命令行工具,它可以让你同时安装多个版本的开发工具,版本间可以随时切换,还可以基于全局、目录、和当前 shell session 配置不同的版本。它以插件的形式支持开发工具,目前支持 .NET Core、Clojure、Deno、Groovy、Java、Kotlin、Maven、MySQL、Node.js、PHP、Python、Ruby、Scala、Yarn 等近 200 个,具体参见官方插件列表。有了它,你就不再需要另外安装gvmnvmrbenvpyenv等工具了。

我现在使用 asdf-vm 来管理我使用的开发工具,包括 Java、Node.js、Gradle、Maven。

brew install asdf

替代品有 SDKMAN!

Java

已经使用 asdf-vm 替代

macOS 都不会自带 JDK 了,所以进行 Java 开发的话,需要下载 JDK。在 Homebrew Cask 之前,我们需要从 https://developer.apple.com/downloads/ 或者 Oracle 网站上下载。还有更麻烦的--卸载 JDK 和升级 JDK。

JDK 安装文件是 pkg 格式,卸载和.app不一样,且没有自动卸载方式。

而 Homebrew Cask 提供了自动安装和卸载功能,能够自动从官网上下载并安装最新的 JDK。

brew cask install java

目前有javaoracle-jdkadoptopenjdk可以安装 JDK 13,分别来自 OpenJDK、Oracle 和 AdoptOpenJDK。

如果你需要安装其他版本,可以使用 homebrew-cask-versions

brew tap homebrew/cask-versions
brew cask install java11

目前 homebrew-cask-versions 提供java11java6adoptopenjdk8

在 macOS 上,你可以同时安装多个版本的 JDK。你可以通过命令/usr/libexec/java_home -V来查看安装了哪几个 JDK。

那问题来了,当你运行java或者 Java 程序时使用的是哪个 JDK 呢?在 macOS 下,java也就是/usr/bin/java在默认情况下指向的是已经安装的最新版本。但是你可以设置环境变量JAVA_HOME来更改其指向:

$ java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
$ JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)

其中JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home可以用JAVA_HOME=`/usr/libexec/java_home -v 1.6`这种更加通用的方式代替。

需要 Oracle JDK 8/9?很遗憾,由于一些原因(Java8 not working anymore),Homebrew Cask 不再提供 Oracle JDK 这些版本的安装。不过你可以尝试 AdoptOpenJDK,或者从 Oracle 官网手工下载安装。

jEnv

unverified

也可以使用 jEnv 来管理不同版本的 JDK,这个工具跟 rbenv 类似,通过当前目录下的.java-version来决定使用哪个 JDK。jEnv 也可以用 Homebrew 安装。不过要使用 jEnv 要有几个问题:

  • 需要手动把eval "$(jenv init -)"加入 profile,没有 Oh My Zsh 插件。这点是我非常反感的。

    可以把eval "$(jenv init -)"加入~/.zlogin,这样可以避免修改~/.zshrc

  • 需要手动添加 JDK,不会自动采集系统 JDK。跟 Ruby 不同,macOS 已经提供/usr/libexec/java_home工具来管理安装的 JDK。

  • 需要 jenv rehash。这个是跟 rbenv 学的。

所以我建议不要使用 jEnv。

民间使用的 Java 版本切换方法

添加以下脚本到当前 shell 配置文件中:~/.zprofile或者~/.bash_profile

function setjdk() {
    export JAVA_HOME=`/usr/libexec/java_home -v $@`
}

这样我们就可以通过输入一条命令进行版本切换了:

setjdk 1.8

Java [OCD]

作为一个强迫症患者,每当我看到 Java 的错误写法就想纠正过来。

当指编程语言时,Java 的正确写法是首字母大写,其余小写。其他写法比如JAVAjava都是不对的。

在其他一些地方会使用小写的java

  • java命令
  • 原文件Main.java
  • 包名java.lang

只有在全大写的标题里使用JAVA或者环境变量JAVA_HOME

IntelliJ IDEA

Java 开发必备工具 IntelliJ IDEA。可以安装 Ultimate Edition:

brew cask install intellij-idea

也可以安装开源免费的 Community Edition:

brew cask install intellij-idea-ce

IntelliJ IDEA 有几套内建的快捷键方案(Keymap)。其中适用于 macOS 的有macOSIntelliJ IDEA Classic两种。区别是:

  • macOS更加符合 macOS 常用的快捷键
  • IntelliJ IDEA Classic方案和其他平台上的快捷键类似

一个团队使用不同的快捷键会影响效率。可以用View | Quick Switch Scheme⌃ Back Quote)快速切换 Keymap。

因为我经常会在 macOS 和 Windows 平台上使用 IDEA,所以我一般使用IntelliJ IDEA Classic方案。

可以从 IDEA 的Help > Keymap Reference打开快捷键的参考手册。不过从这里打开的是macOS方案的,而IntelliJ IDEA Classic方案的可以从这里找到:http://android.cs.uchicago.edu/content/slides/keymap_mac.pdf

IntelliJ IDEA 自带了 Fira Code 字体,支持字体连笔(font ligatures)。使用 Fira Code 可以让我们在不同平台使用相同的编辑器字体,设置方法:Intellij IDEA > Preference...,在左边选择Editor > Font,在右边选择Font: - Fira Code Retina,然后选中Enable font ligatures

rbenv

已经使用 asdf-vm 替代

unverified

人人都需要一个 Ruby 版本管理工具。rbenv 就是这样一个轻量级工具,它可以通过 Homebrew 安装。

安装:

brew install rbenv ruby-build

然后在~/.zshrc中加上rbenv插件。否则你需要手动添加eval "$(rbenv init -)"~/zshrc或者~/.zprofile文件里。

有时候项目会依赖一些奇怪的版本号,比如ruby-2.1.0,这个时候你需要 rbenv-aliases 帮忙:

brew install rbenv-aliases

替代品有 RVM、chruby。因为 RVM 不能通过 Homebrew 安装,并且安装的时候会没有节操的修改一堆文件,所以被我早早的弃用了。chruby 也是一个轻量级工具,而且可以完美的和 Oh My Zsh 集成在一起,我看到有些生产环境在用它。

Ruby 常用别名

unverified

几乎所有 Ruby 开发人员都会把bi作为bundle install的别名。Oh My Zsh 提供builder插件,这个插件提供了一套别名,比如bibe。同时还能让你在运行一些常用 gem 的时候直接输入rspec,不需要be rspec这样了。具体包括哪些命令请参考这里

Zsh 对于[]符号有特殊的处理,所以在运行rake task[parameter]的时候会报错,你需要改成rake task\[parameter\]或者noglob rake task[parameter]。然而 Oh My Zsh 已经看穿这一切,自带的 rake 插件已经解决了这个问题:brake task[parameter]

添加插件的时候注意把rake放到bundler后面,例如这样:

plugins=(git z sublime history rbenv bundler rake)

Node 版本管理

已经使用 asdf-vm 替代

unverified

Node 的版本管理工具有很多,常用的会有以下几个:

  • nodenv

    该工具是一个类似 rbenv 的工具,命令和其完全一样,安装和配置也一样。

    brew install nodenv
    

你需要手动添加以下配置到~/.zshrc或者~/.zprofile文件里。

export PATH="$HOME/.nodenv/bin:$PATH"
eval "$(nodenv init -)"
  • nvm

    该工具是一个类似 RVM 的工具,命令安装方式也基本一样,可以参考官方文档。

  • n

    一个简单的工具,安装方式类似 nvm,无需额外配置。具体参考官方文档。

目前根据 GitHub Stars,这三个管理工具的排名依次是 nvm、n、nodenv。但是个人建议采用 nodenv,原因同 rbenv,尤其已经在使用 rbenv 的伙伴们会觉得 nodenv 更顺手 😄 。

参考资料

from https://github.com/macdao/ocds-guide-to-setting-up-mac 

-----

hacker-guide-to-setting-up-your-mac

Hackers obsess over automation. We want robots to do the grunt work so we can focus on the fun stuff. One area that's ripe for automation that hasn't seen much attention lately is setting up your computer.

Today I want to show you some techniques to apply automation to the setup of your Mac. The goal of this post is to automate 80% of the bootstrapping, allowing you to setup a new Mac in a matter of hours, not days.

Previous Work

There has been previous work done in this area to automate your Mac's setup. Boxen is probably the most notable. Boxen is Github's solution to keeping their teams running similar environments so there aren't as many inconsistencies across boxes. Boxen is a great solution for more mature companies with devops teams , but what about the small startups or the lone hackers? We need a more suitable solution for them.

Our toolbox

This blog post will make use of the following open source tools to automate your Mac:

Installing Binaries with Homebrew

Homebrew is a community-driven package installer and an essential tool for every hacker's toolkit. Homebrew automates the setup, compiling and linking of binaries. It also makes updating and uninstalling binaries a breeze.

This is the first thing you should install on a fresh mac. Drop this snippet in a bash script to make sure homebrew gets installed:

# Check for Homebrew,
# Install if we don't have it
if test ! $(which brew); then
  echo "Installing homebrew..."
  ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi

# Update homebrew recipes
brew update

The next thing you should do is update the unix tools you already have on your mac. This is more relevant than ever since the recent "Shellshock" debacle.

Here's a snippet to update these unix tools:

# Install GNU core utilities (those that come with OS X are outdated)
brew install coreutils

# Install GNU `find`, `locate`, `updatedb`, and `xargs`, g-prefixed
brew install findutils

# Install Bash 4
brew install bash

# Install more recent versions of some OS X tools
brew tap homebrew/dupes
brew install homebrew/dupes/grep

You'll also need to update the $PATH in your ~/.bash_profile in order to use these tools over their Mac counterparts:

$PATH=$(brew --prefix coreutils)/libexec/gnubin:$PATH

This establishes a solid foundation for your Mac. You can also install other tools with Homebrew to improve your workflow. Here's what I install:

binaries=(
  graphicsmagick
  webkit2png
  rename
  zopfli
  ffmpeg
  python
  sshfs
  trash
  node
  tree
  ack
  hub
  git
)

echo "installing binaries..."
brew install ${binaries[@]}

After you're done, you should clean everything up with:

brew cleanup

Installing Apps with Homebrew Cask

Homebrew Cask is an extension for Homebrew that allows you to automate the installation of Mac Apps and Fonts.

After you have homebrew installed, you'll want to install Homebrew Cask:

brew install caskroom/cask/brew-cask

The number of apps you can install with Cask is enormous and growing every day. You can take a look at what applications are installable in their caskroom/homebrew-cask repo or you can search for applications from the CLI:

brew cask search /google-chrome/

Everyone's choice of apps will be different, but here is the script I use to install my favorite apps:

# Apps
apps=(
  alfred
  dropbox
  google-chrome
  qlcolorcode
  screenflick
  slack
  transmit
  appcleaner
  firefox
  hazel
  qlmarkdown
  seil
  spotify
  vagrant
  arq
  flash
  iterm2
  qlprettypatch
  shiori
  sublime-text3
  virtualbox
  atom
  flux
  mailbox
  qlstephen
  sketch
  tower
  vlc
  cloudup
  nvalt
  quicklook-json
  skype
  transmission
)

# Install apps to /Applications
# Default is: /Users/$user/Applications
echo "installing apps..."
brew cask install --appdir="/Applications" ${apps[@]}

If you want to install beta versions of things like Chrome Canary or Sublime Text 3, you'll need to tap the versions cask:

brew tap caskroom/versions

Attention Alfred users

One thing you may notice if you're an Alfred user is that you cannot actually launch these apps from Alfred because the actual location of the app is not in /Applications but in /opt/homebrew-cask/Caskroom/.

To add this path to Alfred, you can run the following command:

brew cask alfred link

Voila!

Bonus: Installing Fonts like a Boss

Cask can also be used to automatically download and install fonts. In order to enable this, you'll need to tap the fonts cask:

brew tap caskroom/fonts

The font recipes are prefixed by font-*, so if you want to download Roboto, try searching for font-roboto:

brew cask search /font-roboto/

Here's how I install fonts:

# fonts
fonts=(
  font-m-plus
  font-clear-sans
  font-roboto
)

# install fonts
echo "installing fonts..."
brew cask install ${fonts[@]}

You can find a full list of the fonts in the caskroom/homebrew-fonts repo.

Mackup

Mackup is a community-driven tool for backing up and restoring system and application settings. You can find the list of applications it supports in the lra/mackup repo.

I haven't had much luck installing Mackup using Homebrew (on Yosemite), but it's easy enough to install with python's pip:

pip install mackup

If pip is not available, you may need to install python with brew install python.

By default mackup saves your preferences to your Dropbox, so you'll want to setup Dropbox first. Once Dropbox is setup, backing up your settings is simple:

mackup backup

This command will match your installed applications with it's recipes and symlink the settings files to ~/Dropbox/Mackup.

To restore these settings on another Mac or a wiped Mac, simply run:

mackup restore

osx-for-hackers.sh

osx-for-hackers.sh is a script by Brandon Brown that is based on Mathias Bynens's popular dotfiles.

This script optimizes your Mac's settings for hackability. It disables many of the annoying defaults Macs have, speeds up the keyboard repeat rate and window animations, and applies many other tweaks.

This script should not be run without prior examination. It's quite opinionated and intended to be modified. You can find the version I modified here:

https://gist.github.com/MatthewMueller/e22d9840f9ea2fee4716

This version makes the script more idempotent, removing a lot of the prompts that I'd like to handle in other places.

dots(1)

dots(1) is a script I wrote to glue these concepts together. It's intended to be the first thing you install on your Mac (or Ubuntu server). It has no outside dependencies and works on many different distributions. To get the binary, simply run:

(mkdir -p /tmp/dots && cd /tmp/dots && curl -L# https://github.com/matthewmueller/dots/archive/master.tar.gz | tar zx --strip 1 && sh ./install.sh)

To boot up your Mac with sensible defaults, you can run:

dots boot osx

dots(1) is very much a work in progress, but I'm hoping to align the community's efforts around creating robust tools to quickly bootstrap new hacker-friendly machines.

Conclusion

By setting up automation, you can get up and running on a new Mac faster, you will stay up to date with the latest security fixes and you can minimize inconsistencies among your teammate's computers.

What are your favorite tools for automation? Leave a comment!

If you're interested in this kind of stuff or in our other work, you should get in touch.

Happy automating!

from https://github.com/lapwinglabs/blog/blob/master/hacker-guide-to-setting-up-your-mac.md

---------------------------

如何优雅地使用 macOS?

终端配置 (iTerm2 + zsh + oh-my-zsh

+ tmux) 和一些好用的小插件

  • : 自带主题已经很多了, 想折腾的, 可以自己定制一套主题
  • 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>, 特别是多屏幕之间窗口移动, 再也不用鼠标拖动了

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

    能用快捷键

    尽量不要用触摸板, 能用触摸板尽量不要用鼠标。

    from https://www.zhihu.com/question/20873070 

    ------------------------------------------------------------

    Mac入门(一)基本用法

    Mac和Windows的操作很多不一样的地方,我刚开始的时候使用起来不是很顺手, 花了一段时间才熟悉起来。
    讲个笑话: 我一朋友看到Mac界面很酷,就买了个Mac笔记本, 玩了几天后,操作很不习惯,就把Mac笔记本给卖了。
    这里我把一些常见的Mac技巧跟大家分享下, 并且写成一个系列,Mac新手看了可以很快上手。
     
    阅读目录
    1. 先看看我的MacBook Pro
    2. Mac OS系统的桌面
    3. Mac安装软件
    4. Mac卸载软件
    5. Mac中没有最大化
    6. Mac快捷键
    7. Spotlight搜索程序和文档
    8. Mac中使用Activity monitor结束未响应的程序
    9. Mac如何截图
    10. 修改Mac系统的语言
    11. 访问远程共享的目录
    12. 如何编辑Hosts文件
    13. 显示个人Library文件夹
    14. Mac 如何设置自动锁屏
    15. 如果获取Mac的IP地址
     

    先看看我的MacBookPro

    这货竟然要将近2W,太贵了,我是买不起。
     

    Mac 系统的桌面

    Mac 的桌面是一个很炫的3D, 背景是一张“星空”图
     
     
    Dock:  在桌面的下方,有一排图标, 这个叫Dock, 用来快速启动程序, 进入文件夹, 它同时还可以停靠正在运行的程序
    苹果菜单:是一个系统菜单,用来关机,重启,升级系统。 
    菜单栏: 表示你目前正在运行的程序的菜单栏。 (这个设计比较好, 在Windows上如果打开3个Firefox, 每个Firefox都有菜单栏。 但是在Mac上,就只有一个统一的菜单栏)
    图标栏: 类似Windows的任务栏, 上面有些系统托盘程序,输入法。 和时间
     

    Mac上安装文件

    Mac系统的安装文件后缀名是.dmg,  双击打开后,会出现一个安装对话框, 把图标拖拽到Application中就可以了。  非常简单
     

    Mac中卸载软件

    打开Finder, 到Application文件夹下,找到你要卸载的软件,右键,选择Move To Trash. 就卸载好了。 
    注意:这种卸载方法,不会删除个人目录下的library下的preferences中的配置文件。(不删除配置文件对用户一般没影响)
     

    Mac中没有最大化,只有最适化

    在Windows系统中,我们习惯了把窗口最大化。 但是在苹果系统中没有最大化,而是”最适化“, 意思是“将窗口放大到最合适的宽度”。 这个让习惯了Windows的用户来说,很不习惯。
    在Mac OS 实现最大化窗口,可惜在窗口的右下角拖放,放大窗口
    小技巧: Chrome中,按住Shift键,然后点击“最适化”。 可以实现最大化。把窗口铺满整个屏幕。
     
     

    MAC常用快捷键

    Command+M: 最小化窗口
    Command+T: 在浏览器中打开新的选项卡
    Command+W: 关闭窗口
    Command+Q: 退出程序
     

    Spotlight搜索程序和文档

    Spotlight是最最常用的东西, 类似Windows开始菜单中的搜索。  可以用来搜索文档,也可以搜索本机的程序。 这样可以快速启动。 这个东西基本每天都用
    点击右上角的“放大镜”图标,或者快捷键: Command+Space. 来调用Spotlight
     

    Mac中使用Activity monitor结束未响应的程序

    Mac中的程序也经常卡死。 Windows中有任务管理器,可以用来查看本机运行的进程的状态, 和结束进程。 Mac中的Activity monitor(活动监视器)有差不多的功能。
    1. 在Spotlight中搜索 activity, 可以快速启动Activity monitor
    2. 也可以这样启动,先点Lunchpad->Utilitys->Activity Monitor
     

    Mac上如何截图

    我个人做为QA,每天都要用到截图,Windows7上有很方便的截图工具,并且键盘上有截图的快捷键print screen.  Mac上是如何截图呢?
    全屏截图:Command+Shift+3,    使用快捷键后会马上截获当前的全屏。保存到桌面上
    区域截图:Command+Shift +4,   使用快捷键后会出现带坐标的瞄准器, 拖拽选择要截图的区域。
    程序窗口截图: Command+Shift+4+Space, 使用快捷键后会出现一个照相机的图标, 选择程序窗口,然后单击截图。
     
    注意: 默认情况下, 所有的截图会保存在桌面上。 也就是Desktop文件夹下。
     

    修改Mac系统的语言 

    有人喜欢用英文版, 有人喜欢用中文版。 Mac系统跟IPhone手机一样,可以方便的切换语言。
    打开System Preferences ->Person下的Language&Text->Launage下。  把你想要的语言拖拽到第一位
     
     

    访问远程共享的目录

    在Windows中, 我们可以Run "\\192.168.0.4"  来访问其他机器共享的目录
    在Mac中,  先打开Finder,    command +K   打开共享目录 输入: smb://192.168.0.4/share
     

    如何编辑Hosts文件

    在应用程序里面打开终端(terminal),  输入  sudo vi /etc/hosts 
    然后提示输入系统密码  hosts文件就自动打开了 
    接着输入 i  进入编辑模式 
     

    显示Library文件夹

    在应用程序里面打开终端(terminal), chflags nohidden ~/Library/
     

    Mac中如何锁屏

    锁屏的意思是指, 当你离开电脑的时候,希望运行的程序继续运行,只是不想让别人用你的电脑。 这样你临时锁住屏幕,当你回到电脑前时, 输入密码,就能回到原来的桌面。
    Windows 中,  按下 Windows键+L,  就能实现了。   Mac下的是:  Shift+Control+ 推出键
    1.  在System Preferences里面的Desktop&ScreenSaver里面选择自己喜爱的ScrenSaver,
    2.  然后在System Preferences里面的Security里面的General标签选择“Require password to week this computer from sleep or sreen saver.”选项.
     
     

    如果获取Mac的IP地址

    启动Terminal, 输入命令 "ifconfig"

     
    from https://archive.is/Pwc38#selection-341.0-843.1
    --------------------------------------------------------------
    有了Mac机,还是需在Mac上用Windows怎么办?, VMware Fusion 是运行在Mac机上的虚拟机软件, 类似于VMware workstation。 这样就可以在Mac上运行Windows 系统, 实现了Windows 和 Mac OS X平台的完美结合.
    用Mac机的人,肯定会希望Mac机上也运行Windows系统。 因为很多软件只有Windows上有,而Mac没有。 特别是在国内,大家都习惯了Windows。大部分的网银, 游戏只有Windows上有,
    有了Fusion, 用户就可以无缝的使用Mac和Windows,从另一个意义上来说,Fusion大大增加了用户对Mac的好感。
     
    阅读目录
    1. Fusion简介
    2. Fusion的下载和安装
    3. 同类软件
    4. Fusion的优点
    5. 双系统VS虚拟机
    6. Fusion的用法
    7. Fusion中如何安装Windows 7系统
    8. 在虚拟机中安装VMware Tools
     

    Fusion简介

    Fusion 是VMware公司的产品, VMware是虚拟技术软件行业的龙头老大。 Fusion性能优越, 已经受到百万用户的信任。
    Fusion不是开源软件, 是需要付钱的, 安装的时候需要输入序列号的。
    Fusion 现在的版本是5
    Fusion 上可以运行各种虚拟机操作系统比如:   Windows7, Windows8, UBuntun, Deban 等等。  运行十分流畅
     

    Fusion的下载和安装

    安装后需要输入序列号
     

    同类软件

    Mac平台上的虚拟机主要有两个品牌:VMware Fusion  和 Parallels Desktop,  Parallels Desktop同样也是非常好用的。 
    在国内主要是使用VMware Fusion, 因为盗版比较好找些。
     

    Fusion的优点 

    1. Fusion软件本身消耗的资源很少。
    2. 快照功能:快照功能能保存虚拟机的一个状态,当Windows崩溃,或者受损了后, 你可以恢复到原先的状态
    3. 可以轻松创建多核的虚拟机。 
    4. 可以运行32位的虚拟机,也可以运行64位的虚拟机
    5. 还可以运行其他的操作系统, 比如 Debian, Ubantu.
    6. Fuson中运行的系统,一般不需要安装杀毒软件, 假如中毒了,只需要用快照恢复就可以了。
      

    Mac上使用双系统,还是用虚拟机

    我们可以在Mac上使用BootCamp安装双系统,一个Mac系统,一个Windows系统。 我个人觉得还是用虚拟机方便些,因为虚拟机有我以上说的这些优点
    安装双系统的话,切换系统的时候,需要重启,麻烦。 

    Fusion中如何安装Windows7系统

    使用Windows 7 IOS镜像文件(网上搜下一大把) 或者用光盘装就可以了
     
     
     
     

    Fusion的用法

    Fusion的用法太简单了, 这里就不说了。
     

    在虚拟机中安装VMware Tools

    安装好虚拟机后, 应该马上在虚拟机中安装好VMware Tools (强烈建议安装), VMware Tools 是一种增强虚拟机功能的工具。
    1. 可以允许物理机和虚拟机之间共享剪切板,复制粘贴文件
    2. 共享文件, 拖拽文件
    3. 更新虚拟机中的显卡驱动
    4. 鼠标也可在虚拟机与主机之前自由移动(不用再按ctrl+alt)
    安装方法如下
     

    最后

    现在你可以轻松的使用虚拟机了。  当然使用虚拟机还有些小技巧。  下次再写。
    from https://archive.is/GSbUe#selection-315.0-687.37
    -----------------------------------
    brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便
    brew类似ubuntu系统下的apt-get的功能
     
    阅读目录
    1. 安装brew
    2. 使用brew安装软件
    3. 使用brew卸载软件
    4. 使用brew查询软件
    5. 其他brew命令
     

    安装brew

    brew 的官方网站: http://brew.sh/   在官方网站对brew的用法进行了详细的描述
    安装方法:  在Mac中打开Termal:  输入命令:
    ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
     不知道为什么, 在国内经常被屏蔽
     

    使用brew安装软件

    一个命令就搞定了, 比如安装git
    brew install git
    比如安装wget
    brew install wget
     

    使用brew卸载软件

    卸载更方便了
    brew uninstall wget
     

    使用brew查询软件

    有时候,你不知道你安装的软件的名字, 那么你需要先搜索下, 查到包的名字。
    比如我要安装
    brew search /wge*/
    /wge*/是个正则表达式, 需要包含在/中
     
     

    其他brew命令

    brew list           列出已安装的软件
    brew update     更新brew
    brew home       用浏览器打开brew的官方网站
    brew info         显示软件信息
    brew deps        显示包依赖

     from https://archive.is/RJlx8#selection-273.0-507.1
    ---------

    Manage your Homebrew formulas with style using Cakebrew.

    www.cakebrew.com 

    Cakebrew

    The Homebrew GUI App for OS X

    Build Status

    About

    Cakebrew is the most convenient way to use Homebrew for your daily tasks! It does for Homebrew what Synaptics does to Linux package managers. From the Cakebrew UI, you can:

    • Search for formulae
    • Install, uninstall and upgrade formulae
    • Tap and untap repos
    • Update Homebrew
    • Run the brew cleanup tool

    Cakebrew was based on a project by vincentsaluzzo. Although most of the original code has already been modified, his project was the kickstart for what would become Cakebrew, and his commits are still in the working tree.

    Screenshots

    Screenshot

    Download

    Download Now

    Alternatively, it can be installed via homebrew cask, with brew install cakebrew --cask.

    Problems using ZSH?

    Please visit this page.

    Localizations

    From version 1.1, Cakebrew supports localizations! As of now, the following languages are supported:

    • English
    • Portuguese
    • German
    • Chinese (Simplified)

    If you wish to contribute by translating Cakebrew to your language, please open a new issue in GitHub.

    Website Source

    The source for the Cakebrew website is also present on GitHub! Visit the repository.

    This document was written with my free plain text editor, TipTyper!

    from  https://github.com/brunophilipe/Cakebrew/

    ------

    Mac生产力工具链推荐。

    导读

    工欲善其事必先利其器!

    还记得: 刚参加工作的时候, 有位开发的同事软件使用效率奇高. 我曾亲眼目睹他在几秒之内打开开发软件, 优雅地调出隐藏的功能, 输入数据输出结果的过程行云流水, 一气呵成, 而手指却始终不曾离开键盘. 吃惊的同时, 不仅发现提高开发效率是多么的重要! 这便有了本篇文字.

    本文侧重开发且兼顾产品同学, 工具分享会涉及到:

    1. PM或博客撰写者markdown编辑器推荐
    2. mac重度依赖者应用推荐
    3. 终端便捷工具推荐
    4. Chrome Extension及扩展插件开发
    5. Alfred workflow 自制及开源的推荐

    随时记下闪现的灵感

    人的一天中大脑会产生大约6万个想法, 其中有不少优秀的 idea. 如果我们能学会捕捉哪怕是部分灵感, 也将会收获巨大. 因此工作中需要及时地记下闪现的灵感, 以方便闲暇时温故而知新. 这里推荐两个笔记应用: ① EvernoteOneNote . (注: Evernote速记快捷键Control+Command+N)

    Markdown编辑器

    目前可供选择的markdown编辑器非常之多,至少以下有六种:

    1. Typora, 简洁轻便免费, 独有的所见即所得, 可在预览状态下编辑, 快捷键丰富, 脚本高亮功能出彩, 导出为pdf后, 排版同样正常, 这点非常难得, 笔者使用的就是该款.
    2. Ulysses, 功能强大, 快捷键丰富, 支持目录导入, 支持多终端同步.
    3. MWeb Lite, MWeb的微型版, 不收费, 支持目录导入.
    4. macdown, 基于mou开发, 轻量, 不支持目录导入.
    5. mou 历史悠久, 据说有少量的bug, 具体请参考 Mac 下两款 Markdown 编辑器 Mou/MacDown 大 PK - 简书 .
    6. markeditor, 注重视觉感受, 界面不错, 但运行较慢.

    以上, 推荐开发使用 Typora, 产品等使用 Ulysses.

    Mac重度依赖者

    开发工具

    • Charles 网络抓包应用, mac必备.
    • aText 输入增强应用, 比 TextExpander 要人性化许多,并且对中文和第三方输入法的支持都要更好.
    • Dash mac上api集合应用, 几乎包含各种语言的api文档.
    • SnippetsLab 优秀的代码片段管理工具, 轻量, 可基于菜单栏操作.
    • CodeExpander 专为开发者开发的一个集输入增强、代码片段管理(支持 Markdown)为一体跨平台云同步的开发工具。

    效率提升

    • Alfred 3 神奇的魔法帽, 支持 ① 快速打开application; ② 支持Finder, Calculator, Contacts, Clipboard, iTunes, System, Terminal 等原生应用的各种便捷功能; ③ 支持workflow(工作流)(需要升级为收费版的Powerpack).
    • iterm2 增强版的终端应用, 功能强大, 支持分屏, 历史记录, 选中即复制等.
    • Sip 全屏取色应用, 支持快捷键调出(前端福音, 寻找多年, 终于发掘出来了).
    • Keka 压缩或解压缩应用, 开源免费, 压缩比高, 操作便捷, 支持rar等解压, 压缩中文目录后, 在windows下打开不会存在乱码等现象.
    • ezip 专为macOS而设计的压缩软件, 功能强大, 预览、提取功能特别好用, 永久免费.
    • Scroll Reverser mac滚动方向自定义应用, 可分别设置鼠标和触摸板的上下左右的滚动效果.
    • Size up 分屏应用, 类似Moon的一款应用, 支持上下左右居中、4个角落快速分屏及多屏幕切换.
    • Divvy 另一款分屏应用, 可将屏幕分成多宫格的形式, 然后为每个格子定义快捷键, 遗憾的是不支持多屏幕切换.
    • Graphviz 贝尔实验室开发的有向图/无向图自动布局应用, 支持dot脚本绘制结构图, 流程图等. 可参考教程 利用Graphviz 画结构图使用graphviz绘制流程图 .
    • XMind 思维导图应用, 适合业务及思路梳理.
    • iThoughtsX 另一款思维导图应用, 更加简洁和轻量.
    • Pomodoro One 番茄工作法的一款应用.
    • Recess规范时间的软件

    博主必备

    • ScreenFlow 这或许是mac上最好用的屏幕录制应用.
    • Snipaste或许是最好的截图软件
    • Annotate 屏幕截图批注应用, 令人惊喜的是, 支持划区域gif制作, 教程以及动图制作者必备.
    • Licecap mac上超强大的且极简的gif录制应用, 使用免费, 支持FPS帧率调整且无录制时间限制(笔者用它录制了很多gif动图).
    • KeyCastr 将mac按键显示在屏幕上,分享演示、录制视频或动图时超赞.

    Mac定制化

    • Bartender 3 菜单栏管理应用, 支持隐藏所有菜单栏图标, 还您一个干净的菜单栏.
    • Dozer 隐藏菜单栏项目,功能类似Bartender但是开源免费
    • CDock 任务栏定制应用, 可设置Dock全透明, 还您一个清爽的任务栏.
    • TextBar 自定义菜单栏输出, 支持script运行, 支持H5渲染.
    • Growl 自定义通知样式, 支持多种主题以及颜色, 大小, 渐隐时间等各项参数的自定义.
    • Karabiner 键盘映射修改神器.
    • Magnet窗口管理工具,提升工作效率
    • Keyboard Maestro 键盘大师, mac下功能最为丰富的键盘增强应用.
    • BetterTouchTool mac触摸板增强神器.
    • Übersicht 华丽的桌面自定义应用, 类似于windows的 rainmeter. 支持H5.
    • Today Scripts 个性化通知栏插件, 支持bash脚本.
    • Mountain Tweaks mac隐藏功能开启应用.

    折腾党玩转Mac

    • TripMode 移动热点流量管家, 出差达人的福音.
    • Caffeine 点亮mac, 避免长时间演示ppt而进入到休眠状态.
    • Tickeys 键盘打字风格模拟应用, 支持 Cherry轴等多种风格.
    • keycue 快捷键辅助应用, 帮助记忆快捷键.
    • AirServer IOS连接mac必备.
    • Beyond Compare 文件比较应用, 支持文件, 目录, FTP远程地址比较等.
    • Debookee 网络抓包及数据分析应用.
    • EasyFind 小而强大的文件搜索应用, 媲美windows下的Everything.
    • FileZilla 免费开源的FTP应用.
    • OmniDiskSweeper 硬盘空间扫描应用, 帮助mac减肥.
    • Kaleidoscope 文件和图像比较应用, 支持图片比较, 能与 git, svn 等版本控制工具完美结合.
    • AppCleaner mac应用卸载工具, 结合 AppCleaner 的workflow, 使用效果更佳.
    • TeamViewer 远程开发或协助必备应用.
    • Script Debugger 强大的AppleScript编辑器.
    • Reeder 界面优美的RSS订阅应用.
    • HyperSwitch 带有预览图的快速切换, 作用同Command+Tab.
    • Fruit Juice 电池管理应用, 帮助延迟电池的使用时间.

    终端命令

    • ohmyzsh shell有很多种, 常用的bash就是之一. 而zsh是shell中目前最强大的, 没有之一. ohmyzsh屏蔽了zsh复杂的配置, 真正达到了一键上手zsh的目的.

      # Mac下自动安装&设置
      wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
      # 设置 shell 默认使用 zsh
      chsh -s /bin/zsh
      #在 dock 栏右键退出终端, 然后重启终端~安装完成
    • autojump 支持快速跳转到曾经打开过的目录下,安装方法: brew install autojump .

    • tmux 终端复用工具, 支持在终端中创建不依赖于终端的窗口, 安装方法: brew install tmux. 使用请参考:Tmux使用手册.

    Chrome Extension篇

    自制

    • Iheader 监听和修改http/https请求/响应头,可用于渗透测试(笔者修改请求头用于跨域调试,特别好用)。
    • Qrcode URL生成二维码,如果网页中包含选中文本,则生成选中文本的二维码。

    前端有关

    • whistle node实现的抓包工具,配合chrome扩展,可基于chrome完成抓包,代理,甚至可基于js生成mock数据,完全可替代charles。
    • YSlow 雅虎性能分析工具.
    • FE助手 百度推出的前端助手, 具有很多便捷的小功能.
    • Postman 接口调试工具, 几乎支持所有类型的http(s)请求.
    • EditThisCookie cookie编辑工具, 可用于获取或设置http only等cookie的值.
    • JSONView json预览工具, 接口调试必备.
    • Page Ruler 页面尺子, 页面重构或者严格按照设计图开发页面时, 将会非常有用.
    • Alexa Traffic Rank 网站Alexa排名查看工具.
    • React Developer Tools React开发者工具.
    • Redux DevTools Redux开发者工具.

    工作效率有关

    • OneTab 快速关闭并存储浏览器当前窗口所有Tab页, 可用于下次一键全部恢复.
    • Merge Windows 合并所有浏览器窗口为同一个窗口.
    • Vimium 键盘党必备, 使用vim命令管理页面.
    • Vysor mac上直接操作 Android 手机, 且可远程共享手机操作界面.

    网站有关

    • Octotree Github重度依赖者必备, 提供左侧边栏, 快速浏览仓库内容.
    • AdBlock 超强去广告工具, 最受欢迎的Chrome扩展, 拥有超过4000万用户.
    • 阅读模式 快速开启阅读模式, 进入沉浸式阅读, 并非支持所有网页.
    • Blipshot 全网页截图工具, 支持自动垂直滚动, 截取网页的所有内容为一张图片.

    Chrome Extension开发

    相关文章

    Alfred workflow

    我曾经耗费巨大的精力, 试图在计算机的使用效率上找到一条优化的策略, 一直以来都收效甚微. 直到遇上Alfred, 它强大的工作流机制, 才让我明白原来计算机可以这么玩. 因为它彻底解决了输入输出的痛点, 极大的减少了程序之间的切换成本以及按键成本.

    传统意义上, 使用mac时, 为了查询一个单词, 或者翻译一个单词, 我们要么经历五步: ① 手动打开浏览器 ② 进入谷歌首页 ③ 选中输入框 ④ 输入或粘贴查询单词, 然后空格并加上"翻译" 两个字, 然后再回车 ⑤ 等待浏览器展示查询结果; 要么经历四步: ① 打开翻译应用(比如自带词典) ② 输入或粘贴查询单词 ③ 翻译应用输出查询结果 ④ 查询过后, 一般都需要Command+Q退出应用(否则Dock栏将会全是未关闭的应用).

    查询单词这个场景中, 我们至少需要兴师动众, 切换或打开一个应用两次, 定位输入框一次, 输入或复制粘贴一次. 且查询结果页也会挡住当前的工作区, 使得我们分心, 甚至忘记自己刚刚在做啥. 五个字 — 体验不流畅.

    而 Alfred 的工作流正是为了解决这个问题而设计的. 如果我们使用网友开发的 有道词典 的 workflow, 最快只需通过两次按键便可获取单词的查询结果. 假如: 为了查询单词"workflow", 我会选中单词所在区域, 然后按住 Option+Y 键(我已将有道翻译的快捷键设置为 Option+Y), 单词查询结果就出来了, 而且不需要切换应用, 同时查询结果也较少的挡住工作区了. 如下:

    有道词典

    以上 Alfred 界面使用了少数派的主题.

    有关其他的workflow 内容, 请移步 Alfred Workflows , 那里会有更多非常不错的 workflow 供您选用.

    from https://github.com/Louiszhai/tool 

    ------

    Mac Wiki
    Mac Wiki是一份网友总结的小白Mac终极配置教程,旨在解决大部分Mac问题,教程文档分为简单的快速上手、系统设置和软件安装推荐和常见问题故障处理,非常详细,不过由于Mac现在开始使用`Apple Silicon CPU`,所以部分教程文档适用机器是Arm架构的MacBook、Mac mini等。
    Mac终极配置教程
    地址:https://44maker.github.io/wiki/Mac/index.html

    ----------------------------------------------------------------

    https://kuanhsiaokuo.github.io/apple_power_user/

    ----------------------------------



     
     
     

     

     

     

     

     

     

     

     

    No comments:

    Post a Comment