Mac 配置总结

今年终于在推出 2018 款 MBP 时,看到升级了 CPU,我就果断下手「拔草」。本文记录使用 Mac 的一些配置,会长期更新。

系统配置

快捷键整理

  • Ctrl 多用于命令行快捷键,Command 多用于图形化快捷键
  • 选中桌面的所有需归档资料,Command+Sshift+n,会将文件归档到一个文件夹下

  • 调度中心设置:右control,显示桌面

  • 触发角

  • 辅助功能-鼠标与控制板-触控板选项-启用拖移
  • Option+Command+v 类似剪切的功能,就是粘贴后,原来文件会被剪切过来。
  • 删除文件:
    • Command+Delete
    • 工具栏添加垃圾箱,然后选择待删除文件,点击垃圾箱即可删除
  • 复制文件路径:Command+Option+c
  • 按住 Option 很多菜单会发生些小变化
  • emoji表情:Control + Command + Space
  • Command+Up:回到上一层文件夹
  • Command+Down:如果是文件夹就进入文件夹,如果是文件就打开
  • Enter:选中一个文件 Enter,直接改名
  • 锁屏:Ctrl + Command + q
  • 单词,选中,三指,自动翻译单词
  • 临时性切换显示/隐藏:Command+Shift+.
  • Command+Alt+i: Chrome开发者工具,F12功能

终端快捷键

  • Ctrl + A:移动到行首
  • Ctrl + E:移动到行尾
  • Ctrl + K:删除到行尾
  • Ctrl + U:删除到行头
  • Ctrl + N:移动到下一行
  • Ctrl + P:移动到上一行

设置允许「任何来源」的应用

有时候会遇到这种错误「报错:无法打开已损坏的安装包」,打开终端,键入命令,输入密码,然后回车:

1
2
sudo spctl --master-disable
defaults write com.apple.LaunchServices LSQuarantine -bool false

打开「安全性与隐私」,发现久违的「任何来源」回来了。

改建

为了将外置键盘和Mac键盘的option键、command键保持一致的顺序,做如下修改:
设置-键盘-修饰键-选择键盘(选择外设键盘)-调整顺序

使用 Shift 键

Shift 键类似于可视模式,比如在某个位置点击光标并按住 Shift 键不松开,再去另一个位置点击一次,就可以选中两次点击位置之间的文本内容。

触控板

  • 四指捏合,展开全部应用
  • 辅助功能-鼠标 开启三指拖拽

参考:

Mac Split View屏幕分割

  • 长按左上角放大的绿色按钮,然后就会选择放置应用的区域!

参考:

更改默认文件打开方式

两指轻按文件,显示简介中,可以看到打开方式选项。

电池

  • 按住 Option 键并点按菜单栏中的电池图标,以显示电池状态菜单

其他

日常软件

spectacle

spectacle 可以方便移动和 resize 窗口

  • option+command+←:窗口左边停靠
  • option+command+→:窗口右边停靠
  • option+command+f:窗口全屏

cheatsheet

在使用一些软件时,长按 Command 按键,会出现快捷键菜单

PopClip

当你在 Mac 上用鼠标选择文字后 PopClip 即会出现。然后即可执行针对内容的特定操作,包括「拷贝」、「复制」以及其它插件操作例如「发送至 Evernote」等。

我安装了扩展:

  • dash 选中,可以启动 Dash 搜索开发文档
  • terminal: 复制相关代码时,就可以默认直接去终端执行了,可以设置为默认 iTerm2
  • bing
  • alfred

这几个扩展,可以到这里下载:my-config-files/popclip

参考:

licecap

IINA

官宣-IINA播放器

Downie

Downie:下载各网站视频且更新频繁;

Typora

Typora:Markdown 编辑器。

Telegram

欢迎订阅我创建的频道:

alfred

  • 唤起快捷键设为:command双击
  • 输入框:lock,锁屏
  • empty 清空回收站,瞬间强迫症患者清爽了。
  • eject 命令可以弹出磁盘、存储卡或者虚拟磁盘镜像,如 .dmg 挂载后的磁盘。
  • 输入 in 命令,以及待搜索的文本,列出磁盘中包含该文本的相关文件,可以快速定位文件,相当于简易的终端 find 命令。

快捷搜索URL:

1
2
3
4
5
6
7
8
9
百度- https://www.baidu.com/s?ie=utf-8&f=8&wd={query}
淘宝 - https://s.taobao.com/search?q={query}
豆瓣电影:http://movie.douban.com/subject_search?search_text={query}&cat=1002
bilibili:http://search.bilibili.com/all?keyword={query}
百度:https://www.baidu.com/s?ie=utf-8&f=8&wd={query}
stackoverflow:http://www.stackoverflow.com/search?q={query}
githubUser:https://github.com/{query}
githubSearch:https://github.com/search?utf8=%E2%9C%93&q={query}
MDN:https://developer.mozilla.org/zh-CN/search?q={query}

参考:

剪贴板历史

有了 Alfred 的剪贴板增强,以上场景都不是问题,首先要在 Features ->; Clipboard 中打开剪贴板历史:

这里我把它们都设置为存储三个月,同时把打开剪贴板的默认快捷键为 Ctrl + Shift + C

通过 Command + 数字键,就可以把它粘贴出来

文本片段

有一些文本是需要反复输入的,比如你的邮箱、QQ号、地址、手机号码、某个网址等信息,亦或者聊天常用语句、表情等等,这些都可以通过 Alfred 来管理,节省输入时间。打开 Features ->; Snippets:

https://www.alfredapp.com/extras/snippets/

字典设置

输入dc开头,然后输入查询的单词;

workflow

个人推荐的workflow:

我常用的存储在这儿了:my-config-files/alfred-work-flow

下载源:

自定义终端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
on alfred_script(q)
tell application "iTerm"
set _length to count window
if _length = 0 then
create window with default profile
end if
set aa to (get miniaturized of current window)
if aa then
set miniaturized of current window to false
end if
set bb to (get visible of current window)
if bb is false then
set visible of current window to true
end if
set cc to frontmost
if cc is false then
activate
end if
(*if _length = 0 then*)
set theResult to current tab of current window
(*else
set theResult to (create tab with default profile) of current window
end if*)
write session of theResult text q
end tell
end alfred_script

Alfred使用参考:

manico

默认,长按option,显示dock应用,数字快速切换应用。

图床

先截图,然后配合快捷键 Command+Shift+u 使用

截图

设定了快捷键为 Ctrl+Shift+a

typora

Bartender

Bartender:一款非常实用的 Menubar 菜单栏管理工具。

Pixelmator

图片处理软件

iMazing

[Mac/Win]备份/管理iOS设备 iTunes 的替代品

CatchMouse

Mac双屏时,通过快捷键快速切换到另外一屏。

keycastr

屏幕上显示你敲击的快捷键,或者也可以设置显示你敲击的任意字母。

snap

开发环境

Git

1
2
3
$ ssh-keygen -t rsa -C "649168982@qq.com"
$ git config --global user.name "Michael728"
$ git config --global user.email "649168982@qq.com"

我的 Git 配置文件在:my-config-files/git

FAQ

Q1: git status乱码
执行:git config --global core.quotepath false
参考:Git Status 中文乱码解决

Q2:Github 下载速度慢

SourceTree

源码管理:SourceTree

Node

1
2
sudo npm install -g hexo # 博客所需
sudo npm install gitbook-cli -g # 笔记所需

Python3安装

1
echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bash_profile

安装之后记得重启终端。

Homebrew & Cask & launchrocket

官网安装命令:

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

常用命令:

1
2
3
4
5
6
7
8
9
10
11
brew search xxx // 搜索
brew cask search xxx // 搜索
brew update // 更新brew
brew upgrade // 更新用brew安装的软件
brew cleanup // 清除安装包
brew cask cleanup // 清除安装包
brew doctor // 检测
brew outdated // 看一下哪些软件可以升级
brew info xxx // 查看某个软件信息
brew cask info xxx // 查看某个软件信息
brew unlink vim

更多命令可以通过man brew查看:

Homebrew 能够安装哪些软件:

测试安装是否成功:

1
2
3
4
brew install wget
brew cask install google-chrome
brew cask install cakebrew # brew
brew cask install launchrocket # 管理 brew 安装的 service 的工具,安装之后可以看所有的 service 的运行状态

  • brew 方式安装的软件都在/usr/local/Cellar目录下,执行brew link xxx,则会在/usr/local/share创建软连接。
  • brew cask 方式安装的软件在/usr/local/Caskroom目录下

Homebrew已成为Mac开发用户必不可少的工具, 大部分开发工具的安装和环境构建都非常方便. 但是如果配合CakebrewLaunchRocket, 那将会更方便管理。

brew和brew cask有什么区别?cask 更偏向图形化软件的安装。

拓展预览程序

1
brew cask install qlcolorcode qlstephen qlmarkdown quicklook-json qlimagesize webpquicklook qlvideo provisionql quicklookapk

参考:

安装 macvim 和 vim

1
brew install macvim

Homebrew formulas index-macvim已经明确指出,这么安装和brew install vimvim冲突,所有某些博客文章中安装macvim的指导说需要先安装vim的说法是有问题的,我那么执行时就报错了:

1
This formula is in conflict with the following

错误提示:

1
2
3
4
5
Updating Homebrew...
Error: Cannot install macvim because conflicting formulae are installed.
vim: because vim and macvim both install vi* binaries

Please `brew unlink vim` before continuing.

我先执行了brew install vim,然后通过brew unlink vim去除了/usr/local/share/创建的 vim 相关的软连接,避免和macvim冲突。然后又通过brew install macvim安装了macvim

如果你想采用macvim代替vim,需要:

1
2
3
brew unlink vim
brew link macvim
alias vim='mvim -v' # 加入 zsh 配置文件

如果你想采用 brew 安装的 vim,替换系统默认的:

1
2
3
brew unlink mackvim
brew link vim
export PATH="/usr/local/Cellar/vim/8.1.0550/bin:$PATH" # 加入 zsh 配置文件

安装之后,还有一些兼容性的设置需要设置才行:

1
2
3
vmap <C-c> "+y " 在Visual模式时,按Ctrl+c复制选择的内容
set backspace=2 " http://cenalulu.github.io/linux/why-my-backspace-not-work-in-vim/
set clipboard+=unnamed " 共享剪贴板 http://www.vitah.net/posts/9ddf2fa9/

关于 Vim 的配置及使用,可以阅读:Vim 插键及配置

参考:

免密登录

1
2
3
4
brew install ssh-copy-id
ssh-copy-id root@1.2.3.4
# 等价于下面这个命令,省掉了两个默认参数
# ssh-copy-id -i ~/.ssh/id_rsa.pub root@100.100.100.100 -p 22

ssh-copy-id 这个工具,它的原理其实是把自己的公钥(默认使用 ~/.ssh/id_rsa.pub 这个文件中的内容)复制到目标服务器的~/.ssh/authorized_keys 文件内。

可以利用 SSH 的配置文件来记住已有的配置,快速登录:

编辑~/.ssh/config 文件:

1
2
3
4
5
Host ss
HostName x.x.x.x
User root
Port 22
IdentityFile ~/.ssh/id_rsa

后续,仅需要ssh ss,即可免密登录。

ForkLift 3

Mac 上的 Finder 的增强版本,FTP 工具,官网有视频介绍,强烈安利!

Postman

iTerm2

  • 快捷键打开ITerm2:打开设置,keys-hotkey-show/hide window,我设置快捷键为command+~
  • 切分屏幕:command+d 水平切分,command+Shift+d垂直切分;Command + [Command + ] 来切换到左侧或者右侧的标签页。
  • 一个标签页中开的窗口太多,有时候会找不到当前的鼠标,command+/找到它。
  • command+;弹出自动补齐窗口,列出曾经使用过的命令
  • command+Shift+h弹出历史粘贴记录窗口,command+Shift+;弹出历史命令记录窗口。
  • command+d,新建垂直标签,利用command+[/]左右切换标签窗口。
1
2
3
4
5
6
7
ctrl + w —往回删除一个单词,光标放在最末尾 
ctrl + k —往前删除到末尾,光标放在最前面(可以使用ctrl+a)
ctrl + u 删除光标以前的字符
ctrl + k 删除光标以后的字符
ctrl + a 移动光标至的字符头
ctrl + e 移动光标至的字符尾
ctrl + l 清屏

iTerm2 中选择文本有三种方式,分别是:

  • 双击:选中单词
  • 三击:选中整行

参考:

皮肤+字体

字体安装:

1
pip install powerline-status

这套皮肤+字体的设置主要是为了配合zsh终端下的现实效果,zsh的使用配置,见文章:

最后效果如下图:

皮肤安装教程见:

FAQ

Q1: iterm 本地终端中文不乱码,ssh远程中文乱码

zsh

真是不得不介绍的神器,专门写了一篇文章:

Beyond Compare

Beyond Compare:完美的diff工具;

Dash

Dash:计算机语言文档神器;

  • 选中文本搜索开发文档:alt/option+s

go2shell

从官网下载安装,然后打开,同意安装到Finder。

Charles

Pycharm

安装的时候,勾选这个,在命令行就可以运行 charm 启动 Pycharm。

VScode

在 VS code 中快捷键 Shift + Command + p 输入 code ,选择安装 code 命令:

然后就可以在终端中这么打开 VS Code了 :

1
code .vimrc

Medis

https://github.com/luin/medis

redis 数据库客户端

Mac相关好文

我知道是不会有人点的,但万一有人想不开呢👇