mac 上窗口切换管理的最佳实践到底是什么

115 天前
 quqiu
首先,多桌面来回三指切换的速度太慢了,如果都开最大化来回切,太费时间了。
还是说都放在同一个桌面里?
3089 次点击
所在节点    问与答
35 条回复
i386
115 天前
同问 特别是多个显示器 能否共用同一套快捷键实现不同窗口布局
hwdq0012
115 天前
三指然后点上面的桌面啊。。。可能是我习惯龟速了,我桌面一边就 3 个左右
RoccoShi
115 天前
一个桌面 + alttab

从 windows 继承下来的习惯
katwalk
115 天前
没有,这也是我把 iMac 当副屏的原因之一。
lekai63
115 天前
目前我用 loop 。
silverzhao
115 天前
给不通的桌面分配快捷键,比如我这边按 "ctrl-1" 切换到"桌面 1",按 "ctrl-7" 切换到"桌面 7":

https://imgur.com/a/UBv3XjO
r0sevil
115 天前
鼠标手势
gauzung
115 天前
屏幕 - 桌面 - 窗口

切换屏幕最快, 桌面次之, 切换窗口是最耗时的, 核心就是做好管理, 最终达到减少切换窗口的次数,

* 两个实体屏幕, 副屏一般是静止的, 不切换桌面, 窗口也不会动(比如只用来放浏览器查资料 or 只用来开代码编辑器);
* 主屏 2~3 个桌面, 自己记得哪个桌面上有哪些窗口, 多指无脑快速切换桌面, mac 要关闭「自动排序常用桌面」选项 (不然桌面顺序会变);
* 窗口管理用 AltTab 软件, 常用窗口挂着, 不常用窗口(比如音乐软件)最小化
darklinden
115 天前
ctrl + 左右
习惯了就默认眼前几个屏只关心眼前的屏了...多屏的时候也不会不适应
Martox
115 天前
hammerspoon ,可以设置自定义快捷键。不需要切换
z1645444
115 天前
> ...三只切换的速度太慢了...最大化来回切,太费时间...

看看 AeroSpace ,快捷键切换虚拟桌面,没有动画。最大化是如果是全屏幕,这是一个痛点,如果是窗口最大化,那就没问题。
zedchi
115 天前
yabai (窗口管理) + skhd (热键)
有兴趣还可以加个 sketchybar (状态栏)
nl101531
115 天前
不主动切桌面,快捷键切软件,切过去自动换屏幕
ysuzhujian
115 天前
contexts for mac
Dislocator
115 天前
DockDoor 不错
arischow
115 天前
Manico
beatboxgao
115 天前
在 macOS 里面切换窗口有很多实践,但很难称某一个最佳实践。

我勉强把它分为三个阶段
1. 和 Windows 类似,下载软件 Alt-Tab ,都是熟悉的味道
2. 在此基础上,可以使用一些分屏软件,例如 Raycast, Loop, Hammerspoon 等
3. 比较进阶的用法,使用 Tiling Window Manager ,使用工作区来进行跳转

## 第一阶段
这个比较好理解,就是下载 alt tab 这个软件
``` shell
brew install alt-tab
```
然后简单配置一下后,用快捷键 command + tab 进行跳转。

有人可能会说,为啥不直接用系统自带的?
1. 首先系统自带的我记得是不能按 shift 键回退的
2. 其次如果一个应用程序有多个窗口,它会自动将所有窗口带到前台,这个极其愚蠢,alt tab 只会将你选择的窗口带到前台

对了,还有 command + '`' 可以实现应用内跳转,别忘了设置
其他的就不说了,这个软件基本是必装的,虽然它没有下面介绍的软件那么快捷,但对普通人来说就足够了

## 第二阶段
### Raycast
是的,Raycast 一个软件其实就够大多数人使用了,我也是采用的这个方案(因为不太需要折腾)。
首先 Raycast 有窗口管理,可以将一个应用左分屏,右分屏,最大化,和 Almost Maximise, 还有合理大小( Reasonable Size),也可以左移,右移,移到另一个屏幕。这些基本功能都是有的。
其次 Raycast 可以通过给一个应用设置快捷键来自动跳转,这里需要注意的是,Raycast 可以设置一个 hyper key ,我设置的是右 command 键。然后 hyper + T 是打开 Kitty ,hyper + F 是 Floorp 浏览器,hyper + E 是 emacs ,hyper + a 是 arc 。当然你也可以根据自己的需求随便更改这些快捷键。
我认为 Raycast 是目前在窗口+快速启动当中,最能打的软件了。
对了,raycast 还可以替代 spotlight ,应该所有人都装了 raycast 吧?

### 其他软件
有些人说的 Loop, Manico 等等,其实基本被 Raycast 涵盖,除非特别喜欢用鼠标,否则直接用 Raycast 即可。

### Hammerspoon
这是一个比较特殊的软件,比较符合程序员的口味,它虽然配置麻烦,需要写 Lua 脚本,但是基本上可以自由定制符合你的要求。刚才说的 Raycast 的功能,它都能做到,唯一不方便的是,要花点时间。

另外,它的功能实在太多,它还能干很多很多其他事,*值得花时间投入研究*,不过只是为了窗口管理没必要使用它。

## Tiling Window Manager
这个比较折腾,是从 Linux 那边汲取的灵感,我个人认为是最舒服的一种(虽然我没用)。

有 Yabai, Aerospace, Amethyst 等,需要配合 SketchyBar 来使用。
优点是指哪打哪,缺点是要时间配置,而且有人可能会不适应。
主要的思想就是将应用分为不同的工作区,假设一个前端程序员,在公司,他可能会设置下面几个工作区
1. 浏览器工作区,查看工作效果
2. 开发区,左侧 2/3 vscode , 右侧 terminal 或者 上面 3/2 vscode ,下面 terminal
3. 工作交流区,飞书,微信,邮件等
4. 其他,摸鱼区,自己想
在不同的工作区中,可以用 option + 1, 2, 3, 4 来切换工作区
在同一个工作区里,可以使用 option + hjkl 来移动焦点
而且,如果需要全屏的时候,可以使用 option + f 来将应用窗口最大化
上面说的键位都是你自己可以调的,我这里只是拿我在 Linux 下的习惯来举例。

在多显示器的情况下,也可以很方便的使用,这里就不过多赘述了。

## 总结
我使用的是 alt-tab + raycast 的组合,在 macOS 上已经足够好用了。
vkillwucy
115 天前
单桌面
1. Manico ,精准切换 APP ,做到指哪打哪
2. command+` ,APP 内部窗口切换
3. Moom 设置快捷键,在不同显示器切换
TigerJie
115 天前
lululau
115 天前
SpaceLauncher 1.x

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1130841

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX