• 请不要在回答技术问题时复制粘贴 AI 生成的内容
x97bgt
V2EX  ›  程序员

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

  •  
  •   x97bgt · Nov 2, 2021 · 20091 views
    This topic created in 1828 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

    https://gist.github.com/y4code/c31cb60cc5eb22b27de0fc66500fce48

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

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

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

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

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

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

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