Mac OS X 快捷键和使用技巧

参考

快捷键

常用全局快捷键

功能 快捷键 说明
显示桌面 F11 很有用,再按一下回归原状
平铺全部打开窗口 Ctrl + 即,打开 mission control
复制粘贴 Cmd + cCmd + v 标准的复制粘贴
剪切 Cmd + cCmd + option + v 有 option 就是剪切,不加就是普通拷贝
打开 emoji 表情窗口 Ctrl+Cmd+ Space 输入文字时使用
打开 Spotlight Ctrl+ Space 用于检索
切换输入法 Cmd+ Space  
     

窗口(全局的任何程序窗口)

参考:Mac OS X窗口最小化方法的几个快捷键

功能 快捷键
向后切换窗口 Cmd+Tab
向前切换窗口 Cmd+Shift + Tab
最小化窗口(到 Dock) Cmd+M
恢复最小化的窗口 先用Cmd+Tab或者Cmd+Shift + Tab切换到你想要恢复的窗口处,然后松开除了Cmd之外的按键(依然按住Cmd),接着再按住Option,然后松开Cmd
切换窗口全屏状态 Ctrl + Cmd+F
关闭窗口 Cmd+W(不过通常彻底退出程序是 Cmd + Q)
新建标签 Cmd+T
新建窗口 Cmd+N
隐藏当前程序的所有窗口 Cmd+H

Finder

功能 快捷键
打开文件预览 Cmd+Shift+P
显示隐藏文件 Cmd+ Shift +.
拷贝文件或者文件夹路径 Cmd + Option + C。要拷贝某个文件全路径,选中该文件。如果要拷贝文件夹路径,则不要选中该路径下任何文件)
弹出地址栏(用于跳转) Cmd + Shift + G。结合拷贝路径快捷键使用就可以快速打开一个当前路径下的新的 Tab。
新建 Tab Cmd+T
永久删除文件(夹) Cmd + Option + Backspace(不会放入垃圾箱而是直接永久删除)
在新的一个 Tab窗口打开选中的文件夹 选中文件夹,然后Cmd + Option+O(如果选中的是某个文件,那么会直接用相应的 Software 打开该文件)。这也可以用来快速在当前路径上开一个新的 Tab。
放大/缩小窗口文件列表 Cmd+Shift++放大,Cmd+Shift+-缩小。非常实用。
缩放窗口来展开所有文件的全名 直接鼠标双击一个 Finder 窗口的 Title 附近的任意空白位置即可。再次双击则还原此前的窗口大小。这个功能可以通过扩大 Finder 窗口来展示文件夹下全部文件的全名。

截图和录屏

参考:截屏快捷键官方文档

Mac 自带一个录屏和截图工具。

功能 快捷键
打开截屏或录屏窗口 shift + cmd + 5。打开后可以在弹出的小窗口上选择截图和录屏等操作,非常方便。
整个屏幕截图 Cmd+Shift+P
选择任意矩形截图 shift + cmd + 4
指定的窗口截图 shift + cmd + 4 后再按下 Space
截图后放在剪切板上而不保存 上面的快捷键再加上 Ctrl,上面的操作默认是截图后保存到桌面

常用命令

文件管理

按键/命令 描述
touch [file] 创建一个新文件
pwd 显示当前工作目录
.. 直接前进到上级目录(无需 cd)
rm [file] 移除文件, 例如 rm [file] [file]
rm -i [file] 移除时出现确认提示
rm -r [dir] 移除文件夹
rm -f [file] 强制移除
cp [file] [newfile / dir] 复制文件(到新文件或者文件夹)
mv [file] [newfile / dir] 移动文件(到新文件或者文件夹)
mkdir [dir] 创建新目录
mkdir -p [base]/[sub-dir] 创建子目录

管道 - 连接多个带有输出的命令

按键/命令 描述
more 按当前窗口大小显示(一个文件中的)内容
> [file] 输出至指定文件, 注意文件将会覆盖
>> [file] 在制定文件的末尾附加内容
< 从文件中读取内容

Terminal 终端相关配置工具

这里把和终端相关的工具放在一起。

整个流程配置

Mac 终端推荐是 iTerm2 + zsh + powerline 的结合,整个流程其实只需要参考上面链接 1 和 2 就足够了。

有关链接 1 和 2 流程的几个注意点:

  • 链接 1 中的安装 powerline 的过程似乎有错误,这里可以推荐参考链接 2;
  • iTerm2 中的 powerline fonts 字体的话,推荐两款:Source Code Pro for PowerlineRoboto Mono for Powerline(其实很多个名为 XXXX for Powerline的都不错,用关键字搜一下试试吧)

oh-my-zsh

不多说了,没人不用吧。自行安装。通常推荐的主题组合是:oh-my-zsh + iTerm2 (or tmux)

几个相关设置

zsh 中重要插件推荐

  • zsh-syntax-highlighting,高亮你输入的命令;
  • zsh-autosuggestions:自动用你的输入历史来补全你的命令,强烈推荐。使用是右方向键
  • autojump:记录过去访问过的路径,方便跳转。

终端工具 iTerm2

普通的 Terminal 的替代工具和多 tab 管理工具,非常好用。通常是和 zsh 结合使用。类似的还有 tmux。

功能 快捷键
切换不同窗口 Tab Cmd + 数字键
(同一个窗口中)右边开一个新的 Tab Cmd + D
(同一个窗口中)下边开一个新的 Tab Cmd + SHIFT + D
(同一个窗口中)切换不同的 Tab Cmd + Option + 方向键

终端工具 tmux

tmux 是一款终端复用命令行工具,一般用于 Terminal 的窗口管理。在 macOS 下,使用 iTerm2 能应付绝大多数窗口管理的需求。tmux 相比 iTerm2 的优势在于:

  • iTerm2 的窗格切换快捷键(⌘⌥→)容易与其他软件全局快捷键冲突(例如 Spectacle 的窗口分割快捷键),tmux 由于存在前缀快捷键,所以不存在快捷键冲突问题;
  • tmux 可以在终端软件重启后通过命令行恢复上次的 session ,而终端软件则不行;
  • tmux 简洁优雅、订制性强,学会之后也能在 Linux 上使用,有助于逼格提升。

不过个人感觉,iTerm2 已经够我个人使用了 :)

其他推荐的逼格工具

下面这两个知乎链接几乎涵盖了最常见的所有的 Mac 上的逼格工具:

这里总结几个我认为比较好用的。

生产力工具 Alfred

大名鼎鼎。用法太多,不介绍了。

https://www.jianshu.com/p/19a704d29f91

Typora

必备。非常、非常美观的一个 Markdown 编辑工具,支持 Mac, Linux 和 Windows 版本。唯一缺点是,暂时还没有移动版,当然也就没有多平台同步功能了。不过这不是大问题,可以借助任意第三方网盘。甚至还免费。

在终端中使用 typora 命令:Use Typora from Shell or Cmd

快捷键

  • 切换 Markdown 预览和源码:Cmd + /

有用链接

  • 官方支持文档:https://support.typora.io/,里面有所有的使用方法链接;
  • 使用数学公式:http://support.typora.io/Math/#math-block-display-math

Themes 主题

全部的 Themes 链接:http://theme.typora.io/

推荐的主题有:

  • 默认的 Github 就灰常好用,简洁大方;
  • 另一个强烈推荐的主题是 Vue:http://theme.typora.io/theme/Vue/,目前我就在用。颜色分配更好看一些,排版也不错,不过默认字体有点小,在 Preferences -> Appearance 中设置 Custom 就行了。
  • 黑色主题推荐 Cobalt: http://theme.typora.io/theme/cobalt/
  • 纯中文主题推荐 Han:http://theme.typora.io/theme/Han/,基于 typo.css 开发。不过它的英文字体不喜欢,还没其它默认的主题好看,因此更适用于纯中文;

Theme 的安装方法:http://theme.typora.io/theme/cobalt/,其实就是下载 Theme 包然后解压,再放到 Theme 路径中就行了。

  • Download the zipped project package and open it.
  • Launch Typora and open Preferences from the app menu.
  • Go to the Appearance tab, and choose Open Theme Folder
  • Copy the cobalt.css file and cobalt folder from your zipped file to Typora theme directory.
  • Launch or restart Typora and choose Cobalt from the theme menu.

autojump

https://github.com/wting/autojump

跳转工具,可以用j folder快速跳转到你访问过的路径中。Mac 下 brew install autojump 安装。

Linux 下的安装需要一点技巧:https://www.jianshu.com/p/0c1589bb9475

tree

用于查看文件夹的树状结构。直接用 brew 即可安装。可以用man tree查看它的用法帮助。几个常见用法:

  • tree:默认显示当前目录所有子文件夹的结构;
  • tree -L 1:只显示一级目录(就类似 ls 了);
  • tree -N:显示中文等其他的 Unicode 文字(默认中文等都是乱码)

录屏工具 kap

https://getkap.co/

必备。Mac 的录屏工具,简单实用,支持导出 mp4, gif 等多种常见格式。

截屏工具 xnip

  • https://xnipapp.com/

必备。免费版只能截屏不能编辑图片,收费版增加编辑功能,不过免费版个人感觉也够了。

其它截屏工具还有好多,例如 snip 等。

PDF Expert

有钱的话必备。PDF 阅读器和编辑器。编辑功能很强大,界面好看实用。一切都好,除了有点贵:80刀。不过可以享受学生半价优惠算是不错了。

PaintBrush

免费的简单绘图工具,类似 Windows 中的 Paint 画图工具。

Paste

必备。粘贴板工具,可以记录过去很长一段时间的粘贴板内容,并且还提供了整理和分类功能,及其强大的生产力工具。10刀左右,买了肯定值。

Wudao-dict

Wudao-dict

命令行词典,支持中英文查询。优点多多。免费。

ShiftIt

必备。平铺窗口工具。Mac 不像 Ubuntu 一样自带快捷键可以平铺窗口。这个工具提供了非常多的快捷键以排列窗口。免费。

类似的工具还有 Spectacle 等。

矫正外接鼠标的滚轮方向 Scroll Reverser

必备。Mac 奇葩的一个地方:触摸板的滚动方向和外接鼠标滚动方向相反。使用默认的设置没法同时将两者都设成我们熟悉的操作。这个很小的软件就是解决这个问题的:它可以显式指定你要翻转的设备是触摸板、外接鼠标或者是其它设备。

fliqlo

  • https://fliqlo.com/#/screensaver

必备。一个屏保工具,用超大字体显示时间。免费。

OpenInTerminal

  • https://github.com/Ji4n1ng/OpenInTerminal/blob/master/Resources/README-Lite-zh.md

一个小程序,可以让你从 Finder 中的当前路径中打开 Terminal 或者 iTerm。这一类的工具有好几个,这个还是国内某个学生写的,小巧且好用。

OmniDiskSweeper

The Omni Group 开发的免费软件 OmniDiskSweeper, 用于查看系统中所有路径下的各种文件的空间占用情况,方便删除较大的文件,非常好用。

有用的库

ImageMagick

ImageMagick 官网:包含使用说明。

很强大的图片信息提取和简单处理,包含多个命令,例如转换图片格式,或者合并多个图片到一个 gif 等。常见命令:

convert input.png output.jpg # 转换格式
convert frame*.png output.gif # 将多张图片合成一个 gif

Cocoapods

参考:

  • 看一遍就会的CocoaPods的安装和使用教程
  • CocoaPods 的简介和原理:https://juejin.im/post/5ba8e3c95188255c581aacbd
  • 简单的安装和使用:https://www.jianshu.com/p/9c68c966a408
  • 如何删除:https://superuser.com/questions/686317/how-to-fully-uninstall-the-cocoapods-from-the-mac-machine

CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods,可以定义自己的依赖关系 (称作 pods),并且随着时间的变化,以及在整个开发环境中对第三方库的版本管理非常方便。

CocoaPods 背后的理念主要体现在两个方面。首先,在工程中引入第三方代码会涉及到许多内容。针对 Objective-C 初级开发者来说,工程文件的配置会让人很沮丧。在配置 build phases 和 linker flags 过程中,会引起许多人为因素的错误。CocoaPods 简化了这一切,它能够自动配置编译选项。

其次,通过 CocoaPods,可以很方便的查找到新的第三方库。当然,这并不是说你可以简单的将别人提供的库拿来拼凑成一个应用程序。它的真正作用是让你能够找到真正好用的库,以此来缩短我们的开发周期和提升软件的质量。

安装很简单:

sudo gem install cocoapods [-v 1.3.1]

可以指定版本,不指定版本时默认安装最新版。

各种小技巧和常见问题

保存 Safari 里正在播放的视频

$ su
# cd /private/var/folders
# ls
nk zz
# cd nk
# ls
zy3770994vqg83xvmbc9pd0m0000gn
# cd zy3770994vqg83xvmbc9pd0m0000gn/T
# open .

然后复制里面叫 FlashTmp.xxx 的文件,改名为 FlashTmp.flv。(操作过程中保持视频在播放状态)

安装 mpv 没有图形界面

使用 brew options mpv 可以看到有个 --with-bundle 是安装时创建 .app 文件。

brew install mpv --with-bundle
brew linkapps mpv

oh-my-zsh 中修改主题添加全路径显示

oh-my-zsh 默认的 robbyrussel 本身已经十分简洁,一些小 tweak 就能变得十分高大上。然而,robbyrussel 主题有一个很令人难受的痛点,在于它并不能显示全路径,只能显示当前所在的文件夹名,如现在处于路径 /home/.../src 中,此主题就只是显示最后路径,即src,带来了一些不方便。

可以通过如下的简单修改使得它能够显示全路径:

  • 用 IDE 打开 ~/.oh-my-zsh/themes/robbyrussell.zsh-theme 文件;
  • 修改 PROMPT 一行中间附近的 %c 字样为 %~,这样不但会显示全路径,而且对用户的目录 /home/user 会显示 ~/,更符合习惯。

Mac 触摸板和外接鼠标的滚动方向分开设置

参考:macbook触摸板和鼠标的滚动方向分开设置

Mac 的外接鼠标的滚轮操作默认是和触摸板相同方向的,但是正好和用户习惯相反。并且 Mac OSX 系统居然没有地方可以修改鼠标滚轮方向。此时可以使用一个叫做 Scroll Reserver 的小软件。参考上面链接,下载后即可使用。不过第一次会提示你修改该软件的 Accessibility,记得将其设置成 Allow this app to control your computer,否则根本无法打开。打开后,该软件默认隐藏,从屏幕右上方控制栏中找到该软件,打开后即可。通常是勾选“Reverse Mouse”,但是不要选“Reverse Trackpad”就行了。

设置外接键盘中的 Cmd 按键和内接键盘一样

参考:Swap CMD and Alt only on external keyboard

很多外接的 Windows 类型键盘中并没有 Cmd 按键,此时 Mac 经常会默认键盘上的 Windows 按键(就是夹在 CtrlAlt 中间的那个按键)是 Cmd 按键。此时就有问题了:CmdAlt 按键和 Mac 的键盘反过来了,用起来很不方便。可以设置交换这两个按键以符合我们的习惯。找到 System Preferences → Keyboard,打开 Modifier Keys,先选中你的外接键盘,然后交换默认的 Command 和 Option Key 这两个按键即可。

有外接电源时,盖上盖子不休眠(don’t sleep after closing lid)

很简单,在 System Preferences → Energy Saver 中,在 Power Adapter,取消选择 Put hard disks to sleep when possible。

像 Ubuntu 一样使用快捷键平铺窗口(Split Views Like Ubuntu using Shortcuts)

Mac 并不支持类似 Ubuntu 中的平铺窗口的快捷键,使用起来很痛苦。这时又要借助神器软件了,这次的小软件是 ShiftIt(官方链接)。安装很容易,该链接中还有快捷键介绍,使用也很方便。最后不妨将其加到系统启动列表中。

Chrome 中回到上一个 Tab

Switching back to last used tab on Chrome

Chrome 默认不支持回到上一个 Tab 的快捷键,只有像 Ctrl + ` 这种快捷键来遍历全部的 Tabs。如果要回到上一个刚刚访问的 Tab,一种方法是,可以安装一个插件:Recent Tabs。不过安装完成后,还要设置一下快捷键。到 Chrome -> Settings –> More Tools –> Extensions,然后点击左上角 Extensions 的标签栏,选中 Keyboard Shortcuts,此时就会出现让你设置“跳回上一个 Tab”的快捷键了。

预览图片时,使用方向键预览其它的图片

非常简单:不要双击图片来打开预览(Preview),而是使用空格键打开。此后就能使用所有方向键预览其它同一个文件夹中的图片了。

操作(解压缩)7z 文件

You can install p7zip with Homebrew. So

% brew install p7zip
% 7za x myfiles.7z

iTerm2 中使用快捷键跳跃性移动光标

参考:

iTerm - going one word backwards and forwards

iTerm2 默认情况下居然不支持光标跳跃移动,而是只能一个字母一个字母移动。此时,如果你敲了一行很长的命令然后想要修改前面的某个位置,只能按多次方向键一个一个向前挪动光标,忒不方便了。然而,普通的 Ubuntu 中的终端,甚至 VS Code 中内嵌的终端都支持快捷键跳跃性移动光标,例如一次跳过一个单词之类的。其实,iTerm2 中也可以设置成这样:

  • Go to Preferences… > Profiles > Keys (not Preferences… > Keys)
  • Press Presets…
  • Select Natural Text Editing

之后就可以通过和 VS Code 中的终端一样的快捷键了。例如:

  • Option + 回到上一个单词;
  • Option + 前往下一个单词;
  • Cmd + 前往行首;
  • Option + delete 删除一个单词;
  • Cmd + delete 删除一整行。这个很有用,因为 iTerm2 默认也不支持清除一整行。

外接显示器选择自定义分辨率

https://support.apple.com/guide/mac-help/change-your-displays-resolution-mchl86d72b76/mac

在 System Preferences –> Display 中找到显示器后,默认的 scaled 的分辨率就只有比较笼统的五种。此时按住 Option 键再选择,就会出现全部可选的详细分辨率列表了。

Mac 和 Windows(任意其它系统)之间分享文件

各大系统中其实都自带有分享文件的功能,而且很好用,有时候比使用网盘要快很多。建立完分享文件夹后,将来可以从任意一个系统向另一个系统分享文件,非常方便,速度也很快。

这个视频连接详细讲述了 Mac 和 Windows 10 之间分享文件的方法:https://www.youtube.com/watch?v=W6GWr9kjQ9Q。

这里还有来自 Apple 官方的补充:https://support.apple.com/zh-cn/guide/mac-help/mchlp1657/mac

在窗口中使用 Tab 切换不同的按钮

经常在遇到弹出的小窗口时(例如要删除一个文件夹),会有两个或者多个按钮,例如 Cancel 和 Okay/Delete 等。此时你会发现无法使用 Tab 键在按钮之间切换,而是只能用鼠标点击。如果想要支持 Tab 键的切换,前往 Settings -> Keyboard -> Shortcuts,然后勾选下方的 “Use keyboard navigation to move focus between controls” 这个选项框(默认没有勾选)。此后你就可以在窗口中使用 Tab 切换按钮了。

不过一个要注意的地方:虽然 Tab 可以切换按钮,但是要最终选择按钮则要用 Space 按键,而不是回车键。

Search

    Table of Contents