V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
x97bgt
V2EX  ›  程序员

终于找到了 macos 切换程序的最佳方式

  •  
  •   x97bgt · 76 天前 · 9627 次点击
    这是一个创建于 76 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在的方式:先按住w(相当于 prefix key ),然后按一下j切换到 iTerm ,按一下j切换到 VSCode ,按一下c切换到浏览器。不用再 cmd+tab 一个个找了,也不会占用现有的按键,畅快。

    多亏了 karabiner+goku 这两个软件。

    第 1 条附言  ·  75 天前
    大家提了很多方案,但大体是
    - 使用快捷键,比如可以用 manico 和 hammerspoon 。但这很容易跟软件起冲突。
    - 先调出一个软件的调度中心,再选择应用。spootlight 、alfred 都是这样。但这样太慢了,而且会花费时间选择,不丝滑。
    - 使用鼠标。再见,鼠标更慢,尤其是在专心写代码时。

    我这个方案,可以在 IDE 、命令行、浏览器之间无缝切换,手都不需要离开键盘。
    第 2 条附言  ·  75 天前
    关于配置,可以看 #64 贴的 gist 片段
    127 条回复    2021-11-17 20:56:28 +08:00
    1  2  
    kidlj
        1
    kidlj  
       76 天前   ❤️ 1
    各占一个桌面,三指左右划动切换不香吗?
    dangge
        2
    dangge  
       76 天前
    http://manico.im/
    推荐一下我在用的切换软件。
    x97bgt
        3
    x97bgt  
    OP
       76 天前 via iPhone
    @kidlj 没那么多屏幕啊。三指滑动怎么切换一个桌面下的软件?
    x97bgt
        4
    x97bgt  
    OP
       76 天前 via iPhone   ❤️ 1
    @dangge 你这个软件会占用现有的按键,很容易和其他软件起冲突。
    dangge
        5
    dangge  
       76 天前
    @x97bgt 按键可以自定义。
    lululau
        6
    lululau  
       76 天前
    我用的 SpaceLauncher ,SPC+w 微信 SPC+e Emacs SPC+c Chrome SPC+t iTerm2 SPC+j Intellij SPC+x Xcode SPC+p Preview.app 。。。
    cyrivlclth
        7
    cyrivlclth  
       76 天前
    @kidlj = =不用触控板的咋办
    faceair
        8
    faceair  
       76 天前
    可以在系统的桌面设置里给右上角配置一个触发角,触发角开启调度中心。想要切换应用的时候,指针往桌面右上角一挪全览视图就出来了。
    Volekingsg
        9
    Volekingsg  
       76 天前
    @lululau #6 我也是长按空格切换,不过我没用 SpaceLauncher 了,用 Karabiner 自己实现了一个
    kidlj
        10
    kidlj  
       76 天前
    @x97bgt 一个屏幕,虚拟桌面。一个桌面的程序三指向上划动切换。
    mogutouer
        11
    mogutouer  
       76 天前
    我跟你说,最快的是放到不同的桌面,然后设置好快捷键,最后搞一个可以自定义侧键的鼠标,大拇指点一下就切,贼快
    x97bgt
        12
    x97bgt  
    OP
       76 天前
    @lululau
    @Volekingsg 空格貌似确实不错。我准备考虑一下把 w 换成空格了。
    Volekingsg
        13
    Volekingsg  
       76 天前   ❤️ 2
    帮 lz 补充下,软件切换触发角或者三指滑动的,都没法一个操作直接切换到特定软件?我的大体都是在 Emacs 和 Safari 两个软件中切换,我需要一种很确定的切换方式
    ShawnCAFU
        14
    ShawnCAFU  
       76 天前
    我基本是 四指上滑调度中心 四指左右滑且换桌面 cmd+tab 三招
    registered
        15
    registered  
       76 天前
    Snap
    xidaduo
        16
    xidaduo  
       76 天前
    Snap ,O(1)复杂度切换程序
    ohmytime
        17
    ohmytime  
       76 天前   ❤️ 2
    你们都不用 卡宾枪嘛?

    Karabiner elements
    下图是我的自定义, 长按空格变成 超级键, 然后解锁一系列神操作 ~
    https://imgtu.com/i/Iike54
    ohmytime
        18
    ohmytime  
       76 天前
    同时在这里问一下, 怎么样能模拟, Command + Tab,然后释放掉 Tab 的同时,安装 Command 的效果?
    期待大神!
    ohmytime
        19
    ohmytime  
       76 天前
    我的一些自定义 -> https://imgtu.com/i/IiAiJH
    szzhiyang
        20
    szzhiyang  
       76 天前
    Power Keys 的「光速启动」功能以 F1 ~ F12 为前导键,完美解决了快捷键容易冲突和数量不足的问题:

    https://PowerKeys.GitHub.io/launcher
    superrichman
        21
    superrichman  
       76 天前
    直接 keyboard maestro ,随便设置快捷键,甚至可以为单个 app 设置快捷键。
    (这软件除了贵真的好用
    Diphia
        22
    Diphia  
       76 天前
    我只用 Ctrl + 1 2 3 分别切到 Emacs, iTerm 和 Chrome ,感觉可以覆盖八九成的切换

    现在用的 Manico ,但是要实现这个应该很多软件都可以,Karabiner, Alfred 什么的
    goodryb
        23
    goodryb  
       76 天前
    直接三指上划(就是 F3 那个功能),一次性选择到位,重要的软件,直接单独一个虚拟桌面
    Diphia
        24
    Diphia  
       76 天前
    其实用过的最强大的切换方案是 yabai ( https://github.com/koekeishiya/yabai),差不多是 macOS 上全功能的 Tiling Window Manager 了,但是要关 SIP ,换了新机器以后就放弃了
    x97bgt
        25
    x97bgt  
    OP
       76 天前
    @Diphia yabai 我也用,但关 SIP 确实是一个隐患
    x97bgt
        26
    x97bgt  
    OP
       76 天前
    @szzhiyang
    @superrichman
    @Diphia 设置快捷键调用程序的工具很多,但是经常会跟其他软件的快捷键起冲突,就不大喜欢这种方式。
    pansongya
        27
    pansongya  
       76 天前
    有没有 cmd + tab 切换好用的呢?
    FallenMax
        28
    FallenMax  
       76 天前
    https://github.com/saforem2/chunkwm

    类似 i3 的平铺式窗口管理器,你值得拥有
    FallenMax
        29
    FallenMax  
       76 天前
    @FallenMax 说错了,新版是 yabai
    ALVC666
        30
    ALVC666  
       76 天前
    开的程序多的话我会用 alfred 切
    cloudyplain
        31
    cloudyplain  
       76 天前
    简单切换用 alfred 搜索或者用 workflow 绑定些快捷键,复杂就用 contexts 的搜索功能
    hiahiahiahia
        32
    hiahiahiahia  
       76 天前
    试试 thor
    可以自定义一个快捷键
    cp19890714
        33
    cp19890714  
       76 天前 via Android
    老生常谈的话题了。
    我没有安装任何软件,使用 mac 的多桌面,设置 10 个桌面,每个软件放到不同的桌面,快捷键直接切换桌面即可,指哪打哪。切换软件不需要做任何思考和眼睛识别
    freeing
        34
    freeing  
       76 天前
    有个 manico 是专门做这个事的
    wd
        35
    wd  
       76 天前 via iPhone
    @x97bgt 我试过空格,输入法里面空格用的比较多,会容易误触发。
    Yvette
        36
    Yvette  
       76 天前
    btw 前段时间用 Hammerspoon 的脚本完美模拟了 Manico 除了 GUI 之外的功能。。。十分舒爽
    letwewell
        37
    letwewell  
       76 天前
    多桌面三指左右滑 单桌面多程序三指上滑。。。
    x97bgt
        38
    x97bgt  
    OP
       76 天前
    @Yvette Hammerspoon 的程序切换功能性能貌似很差,非常慢。它的窗口管理功能也有问题,比如移到左半边,可能经历右上->右半->左上,不能一步换到位。
    TuringGunner
        39
    TuringGunner  
       76 天前
    cmd+tab ,或者三指滑动,感觉都还行吧
    mr2xd
        40
    mr2xd  
       76 天前
    thor
    RRRoger
        41
    RRRoger  
       75 天前
    用 alfred 或者 raycast 都行啊
    mauve
        42
    mauve  
       75 天前
    分享一段 karabiner 作为 manico 使用 的配置



    sohunjug
        43
    sohunjug  
       75 天前
    @FallenMax #29 https://github.com/sohunjug/hammerspoon-config 我用 hhtwm 实现了简单的 yabai
    貌似 yabai 不支持 macos12 或 M1
    neptuno
        44
    neptuno  
       75 天前
    我是用 hammerspoon ,常用的几个定了快捷键,例如:option+w 自动打开微信,并切换为中文输入法,option+j 自动打开 idea (因为我写 java ,就用 j 作为快捷键),并切换为英文输入法
    sohunjug
        45
    sohunjug  
       75 天前
    @x97bgt #38 hammerspoon 重要的是需要自己写
    EvilDevilJin
        46
    EvilDevilJin  
       75 天前   ❤️ 1
    @x97bgt 他的意思是每个应用设置成全屏,窗口最大化。三指滑动切换应用。
    rhtututu
        47
    rhtututu  
       75 天前
    直接 spotlight 也挺快的吧
    yiqiao
        48
    yiqiao  
       75 天前
    alfred / spotlight 切换
    arischow
        49
    arischow  
       75 天前
    Manico 多年用户
    Martox
        50
    Martox  
       75 天前
    hammerspoon + 1 。网上复制一个配置项,然后把你需要的 app 都编号名字,估计要不到 10 分钟。每次看到同事分享屏幕,切换 app 的时候就捉急。。。常用 10 多个 app ,秒切。
    fl2d
        51
    fl2d  
       75 天前
    @dangge 以前用过,但觉得他这个触发方式有点不方便啊,比如设置成 cmd ,那么全选时按 cmd+a 就触发 manico 了
    phub2020
        52
    phub2020  
       75 天前
    罗技鼠标切换
    LuciusChen
        53
    LuciusChen  
       75 天前   ❤️ 1
    @x97bgt 这么说的你肯定没有真的用过 hs
    pityto
        55
    pityto  
       75 天前
    thor + 1 ,可以自定义快捷键,需要点时间习惯
    violetlai
        56
    violetlai  
       75 天前
    鼠标功能键 或者 触摸板切换就行了
    weichengwu
        57
    weichengwu  
       75 天前
    alfred/raycast 更好用,不论切换还是启动
    Joker123456789
        58
    Joker123456789  
       75 天前
    鼠标移下去,点一下不够快吗?
    zitup
        59
    zitup  
       75 天前
    @cp19890714 快捷键怎么添加 切换到桌面 2 ,默认的只有切换到桌面 1 ,而且没有添加的按钮...
    spongebobsun
        60
    spongebobsun  
       75 天前
    切换桌面 / 全屏程序的快捷键 - ctrl + ⬅️ 往左, ctrl + ➡️ 往右...
    wd
        61
    wd  
       75 天前
    使用 w 好像和 space 一样,如果输入中文的时候速度快,会容易把 w 丢掉。楼主没有这个问题么?
    lycpang
        62
    lycpang  
       75 天前
    @xidaduo 这软件在 bigsur 系统有 bug ,添加的程序不会出现在列表里面。。。。我就盲人摸象把之前的软件添加进去了,实属不易
    booscopy
        63
    booscopy  
       75 天前
    Hammerspoon (hotkey) + mtmr ( touchbar ) 完美

    Hammerspoon 性能方面没问题 有问题的通常是脚本写差了
    wd
        64
    wd  
       75 天前   ❤️ 2
    之前会吞掉 w 是因为我用的不是 simlayer 模式。现在好像好了。

    介于楼主没有贴,我贴一个我的配置。
    gay4in
        65
    gay4in  
       75 天前
    设一个快捷键是调度中心就好了,最简单的方法不就是一键显示所有程序窗口吗
    x97bgt
        66
    x97bgt  
    OP
       75 天前 via iPhone
    @LuciusChen 用过 hs 啊,但感觉没有击中我的点。窗口分屏有 bug ,切换应用没有 karabiner 来的丝滑,不过倒是可以作为文件监控的工具。
    x97bgt
        67
    x97bgt  
    OP
       75 天前 via iPhone
    @booscopy 你试试 hammerspoon 的 switcher ,调用前都会卡顿一下。
    x97bgt
        68
    x97bgt  
    OP
       75 天前 via iPhone
    @wd 对,simlayer 模式不会吞,用起来很丝滑,不影响打字。
    jellyspot
        69
    jellyspot  
       75 天前
    我是两个屏,一个横着,一个竖着,一般常用的软件就是 3 个左右,主要工具放横屏上,剩下两个,放竖屏,上下各一个,刚刚好
    fucku
        70
    fucku  
       75 天前
    contexts
    xiaket
        71
    xiaket  
       75 天前
    itgoyo
        72
    itgoyo  
       75 天前

    很多人都说 Alfred ,但是又不了解 Alfred 的真正用法,Alfred 可以映射快捷键,不是换出搜索框,而是映射快捷键
    itgoyo
        73
    itgoyo  
       75 天前
    ohmytime
        74
    ohmytime  
       75 天前
    @itgoyo 请教一下, 你是怎么直接上传并显示图片的?
    xiaket
        75
    xiaket  
       75 天前
    @itgoyo 最大缺点是不能区分左右的 cmd.
    x97bgt
        76
    x97bgt  
    OP
       75 天前
    @xiaket 你这样移动半屏可以一步到位吗?我之前用过 hammerspoon ,但可能要按好几次,才能移到左半边。移动右半边也是一样。
    ispinfx
        77
    ispinfx  
       75 天前 via iPhone
    manico ,option 开头没见过几个冲突的
    cp19890714
        78
    cp19890714  
       75 天前   ❤️ 1
    @zitup
    设置-键盘-快捷键-调度中心-切换到桌面 1 切换到桌面 2....
    前提是你得先建立多个桌面, 设置中才会出现快捷键.
    如果觉得切换桌面的动画太慢, 可以把动画关闭。
    用一段时间,形成条件反射后,最终效果就是心里想用哪个软件,桌面立即就显示这个软件了,简直意念控制。
    Volekingsg
        79
    Volekingsg  
       75 天前
    @wd #64 我是输入别的键禁用 space 功能一段时间,simlayer 是啥,方便转换成原始配置我看眼么😂
    sohunjug
        80
    sohunjug  
       75 天前   ❤️ 1
    @Diphia #24 可以看看我的配置哈 https://github.com/sohunjug/hammerspoon-config
    我用 hhtwm 改的 hammerspoon 模拟 yabai
    Volekingsg
        81
    Volekingsg  
       75 天前
    @wd #64 看到了,goku 文档有,我有空去研究下
    itgoyo
        82
    itgoyo  
       75 天前
    @ohmytime 我用的微博图床
    tanran
        83
    tanran  
       75 天前
    之前用 SNAP ,系统升级后用 Thor ,常用的 App 设置快捷键即可
    jakezh
        84
    jakezh  
       75 天前
    为什么没人提 AltTab 啊
    可以预览画面,跟 windows 一样
    SjwNo1
        85
    SjwNo1  
       75 天前
    啊,我都是 alfred 切的
    palxie
        86
    palxie  
       75 天前
    我是用 keyboard maestro , 然后吧 capsLock 大写键 改成 alt 键, 用快捷键绑定窗口
    capsLock + q, iterm2
    capsLock + 1. webstrom
    capsLock + 2. chrome
    capsLock + 3. android studio / xcode
    capsLock + 4. notion / 云笔记
    capsLock + 5. 模拟器 或者其他
    我套自我感觉挺舒服的. 高频窗口直接出来, 切换流畅. keyboard maestro 也可以像 windows 一样, 应用间切换, 应用内窗口切换, 我不怎么用
    dcoder
        87
    dcoder  
       75 天前
    好多人都不知道 contexts
    https://contexts.co/

    它一般有 2 种切换方法:
    1. option+tab: 类似 windows 窗口切换. 可设置成其它快捷键.
    2. 打开个类 alfred 的搜索框, 敲字符搜索*已经打开的*窗口.

    第 2 种是它独有的, 模糊匹配做的很好, 敲几个字符能切换成功.
    再配上其它快捷键工具:
    Magnet, Karabiner, Alfred, Vimium for chrome, IDE 自配的快捷键
    基本可实现平滑的 Mac OS 全键盘操作办公
    iluckypig
        88
    iluckypig  
       75 天前   ❤️ 1
    我用的这个软件 AltTab
    linhongye
        89
    linhongye  
       75 天前
    @iluckypig #88 点赞, 我也用 AltTab, windows 级别的效率
    pofycn
        90
    pofycn  
       75 天前
    https://github.com/lwouis/alt-tab-macos 我改成了 opt+tab 用来切换窗口
    UnitTest
        91
    UnitTest  
       75 天前
    楼上大家的分享都不错, 以前我都是吹 windows, 自从升级 windows11 , 没有完整的任务栏之后感觉还不如 mac 好切换. 有空试试楼上这么多的分享.
    Yvette
        92
    Yvette  
       75 天前
    @x97bgt 你用的是自己写的脚本还是直接从别人那里拿的 Spoon 之类的?你描述的现象如果存在的话听起来是脚本的逻辑写得有错,不像是 Hammerspoon 本身的问题。这两个功能的脚本我主要用到的分别是下面两个接口,从来没有遇到过你提到的这些问题。

    程序切换 https://www.hammerspoon.org/docs/hs.application.html#get
    窗口管理 https://www.hammerspoon.org/docs/hs.window.html#setFrame
    dayeye2006199
        93
    dayeye2006199  
       75 天前
    平铺窗口管理器表示都是渣渣
    booscopy
        94
    booscopy  
       75 天前
    @x97bgt 饭煮的难吃差
    通常不是电锅的问题
    而是食谱的问题
    这里有份食谱 你可以参考
    https://github.com/manateelazycat/hammerspoon-config
    或是
    https://github.com/asmagill/hs._asm.undocumented.spaces
    ooops
        95
    ooops  
       75 天前
    我都是直接 launchbar 打首字母切换。既然可以接受字母键,我再给楼主提供个思路。
    ![keyboard layout]( https://dsc.cloud/5e900a/keyboard-layout.png)
    Lemeng
        96
    Lemeng  
       75 天前
    嗯嗯,可以可以
    xuanbg
        97
    xuanbg  
       75 天前
    楼主要学会使用虚拟桌面啊。点窗口左上角的绿色圆点,就能自动把窗口在一个新的虚拟桌面以全屏的方式显示。3 指左右滑动就能切换。3 指上滑可以选择虚拟桌面。
    sumu
        98
    sumu  
       75 天前 via iPhone
    yabai ,类似 i3 的窗口管理软件,每个 app 占据一个窗口。常用软件都放在固定的位置,直接切。
    11dad
        99
    11dad  
       75 天前 via Android
    罗技鼠标可以设置滚轮左右切桌面
    x97bgt
        100
    x97bgt  
    OP
       75 天前 via iPhone
    @ooops 你这个图,除数字键和方向键以外,感觉其他键位都不好记忆。
    1  2  
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4354 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:41 · PVG 14:41 · LAX 22:41 · JFK 01:41
    ♥ Do have faith in what you're doing.