V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
quqiu
V2EX  ›  问与答

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

  •  
  •   quqiu · 3 天前 · 1665 次点击
    首先,多桌面来回三指切换的速度太慢了,如果都开最大化来回切,太费时间了。
    还是说都放在同一个桌面里?
    27 条回复    2025-05-11 19:31:53 +08:00
    i386
        1
    i386  
       3 天前 via iPhone
    同问 特别是多个显示器 能否共用同一套快捷键实现不同窗口布局
    hwdq0012
        2
    hwdq0012  
       3 天前
    三指然后点上面的桌面啊。。。可能是我习惯龟速了,我桌面一边就 3 个左右
    RoccoShi
        3
    RoccoShi  
       3 天前   ❤️ 1
    一个桌面 + alttab

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

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

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

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

    看看 AeroSpace ,快捷键切换虚拟桌面,没有动画。最大化是如果是全屏幕,这是一个痛点,如果是窗口最大化,那就没问题。
    zedchi
        12
    zedchi  
       2 天前
    yabai (窗口管理) + skhd (热键)
    有兴趣还可以加个 sketchybar (状态栏)
    nl101531
        13
    nl101531  
       2 天前 via iPhone
    不主动切桌面,快捷键切软件,切过去自动换屏幕
    ysuzhujian
        14
    ysuzhujian  
       2 天前
    contexts for mac
    Dislocator
        15
    Dislocator  
       2 天前
    DockDoor 不错
    arischow
        16
    arischow  
       2 天前 via iPhone
    Manico
    beatboxgao
        17
    beatboxgao  
       2 天前
    在 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
        18
    vkillwucy  
       2 天前
    单桌面
    1. Manico ,精准切换 APP ,做到指哪打哪
    2. command+` ,APP 内部窗口切换
    3. Moom 设置快捷键,在不同显示器切换
    lululau
        20
    lululau  
       2 天前
    SpaceLauncher 1.x
    cht
        21
    cht  
       2 天前
    keengrass
        22
    keengrass  
       2 天前
    鼠标手势 bnb
    MasterCai
        23
    MasterCai  
       2 天前
    我一般把一个桌面当作一个 workspace ,相关的东西都放在一起,只有在切换任务的时候才需要切换桌面。
    hehedada111
        24
    hehedada111  
       2 天前
    @Dislocator 这个真不错
    bowencool
        25
    bowencool  
       1 天前
    我的解决办法是只有浏览器和 IDE 开全屏,其他的全都放一个桌面里,这样最多切两次屏,而且是固定顺序,有点肌肉记忆了。偶尔桌面多了就先进 mission control ,再选桌面
    K2
        26
    K2  
       1 天前
    四角触发
    stickchen
        27
    stickchen  
       1 天前
    ubar 可以么,完全复刻 windows ,感觉很适应
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5655 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 06:15 · PVG 14:15 · LAX 23:15 · JFK 02:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.