codeplay
V2EX  ›  macOS

键盘党在 OSX 优雅的切换程序(窗口)?

  •  2
     
  •   codeplay · Jul 1, 2014 · 22791 views
    This topic created in 4514 days ago, the information mentioned may be changed or developed.
    看到大家对OSX下的程序(窗口)切换这么多的吐槽,这么多的纠结,我给出一个比较好的方法(键盘党请进,全面超越Windows的Alt+Tab)

    准备:HyperSwitch(必选),KeyRemap4MacBook(可选),HyperDock(可选)

    步骤:
    1、安装HyperSwitch;
    2、在App Switcher选项卡里面选中Show window previews on the app switcher(⌘+Tab);
    3、切换时,首先用⌘+Tab切换程序,切换到之后,按住⌘键,然后按`键切换同一个程序下的不同窗口,在选择到窗口时,甚至可以直接输入数字n,跳转到第n个窗口;(但是会损失AppSwitcher里按`反向切换的能力)
    4、高阶一点的,还可以使用KeyRemap4MacBook预设的Remapping,For Mission Control,Dashboard->Cmd+Tab Mode:同时按下Tab+Q(通过改默认的配置文件可以调整,我调整为双击Control键),激活Cmd+Tab模式,Tab正向切换程序,Shift反向切换程序,`切换程序窗口,HJKL移动焦点(可代替Tab、Shift、`键切换程序和窗口)。

    为什么说这个方案很优雅?
    1、全键盘操作不解释;
    2、在系统本身的AppSwitcher上进行修改,尽可能保留了系统的行为和风格;
    3、真正的发挥了OSX切换区分程序、窗口的优势(由于区分了程序、按Tab键的次数相比Windows下的Alt+Tab会少),一气呵成,同时实现了同一程序下切换窗口可视化(可以直接看到窗口的预览);
    4、直接切换到最小化、隐藏窗口,无需鼠标操作,系统本身的Cmd+Tab要完成这个操作很麻烦。
    Supplement 1  ·  Jul 1, 2014
    找到/Applications/KeyRemap4MacBook.app/Contents/Resources/include/checkbox 下的for_mission_control.xml
    找到<name>标签为Simultaneous Key Presses [Tab+Q] to toggle Cmd+Tab的item标签节点,修改如下:
    <item>
    <name>Double Tap Control_L to toggle Cmd+Tab</name>
    <identifier>remap.simultaneouskeypresses_cmdtab_tabq</identifier>
    <autogen>
    --DoublePressModifier--
    KeyCode::CONTROL_L, KeyCode::CONTROL_L,
    KeyCode::VK_CONFIG_FORCE_ON_notsave_cmdtab_mode,
    KeyCode::VK_LOCK_COMMAND_L_FORCE_ON,
    KeyCode::TAB,
    </autogen>
    </item>
    44 replies  •  2019-10-30 09:53:28 +08:00
    codeplay
    codeplay
    OP
    Jul 1, 2014
    1
    回复超20,我共享出如何调整Cmd+Tab Mode的激活热键的配置代码(针对步骤4)!
    gangsta
    gangsta
    Jul 1, 2014
    2
    更习惯最大化后四指横滑.
    codeplay
    codeplay
    OP
    Jul 1, 2014 via iPad
    3
    @gangsta
    针对键盘党...
    kid813
    kid813
    Jul 1, 2014
    4
    我想请教一下,原生是否支持用键盘切换同一个程序的不同窗口(非标签)?
    比如我开了两个safari窗口,每个窗口有多个tab。如果是触摸板就是四指下滑,再选择其中一个窗口。但是键盘能不能切换呢?
    breeswish
    breeswish
    Jul 1, 2014❤️1
    5
    感觉 OS X 下窗口切换挺好的,Command+Tab和Command+`本来就是可以切换的...
    安装ShiftIt以后已经很少用最小化之类的了..
    imbahom
    imbahom
    Jul 1, 2014
    6
    用manico有一阵子了。已经到了药不能停的程度,墙裂推荐
    codeplay
    codeplay
    OP
    Jul 1, 2014 via iPad
    7
    @kid813 command+'啊
    codeplay
    codeplay
    OP
    Jul 1, 2014 via iPad
    8
    @breeswish
    只用键盘如何切换到一个最小化的窗口?默认的窗口切换根本直接忽略最小化的窗口!放弃最小化?我觉得最小化窗口,不是隐藏程序能完全代替的!
    GeekBao
    GeekBao
    Jul 1, 2014 via iPhone
    9
    直接km设置opt+tab 窗口间切换。km程序间切换本来就可以直接切换到最小化或者隐藏窗口。
    canautumn
    canautumn
    Jul 1, 2014
    10
    补充一个,有时候需要同时切换两个应用到前台,并且将两个窗口各自缩放到合适大小且并列,同时隐藏其他窗口,这两个应用作为一个应用组用一个快捷键实现以上功能,然后定义若干个窗口组,比如iTerm+Sublime, Safari+Evernote, Xcode+SourceTree,等。分配每个窗口组一个快捷键快速切换。这个都可以用keyboard maestro实现。买了km之后就没有再用过manico了。
    ffffwh
    ffffwh
    Jul 1, 2014
    11
    应该弄个在iPhone上显示Dock的程序...
    chemzqm
    chemzqm
    Jul 1, 2014 via iPhone❤️1
    12
    虽然我觉得程序切换这事儿最重要的是有个大的外接显示器
    JQiuss
    JQiuss
    Jul 1, 2014
    13
    Cmd+Tab Cmd+` 的路过, 囧..
    tftk
    tftk
    Jul 1, 2014
    14
    如果可以实现

    """
    1、全键盘操作不解释;
    """
    就不收鼠标了!
    tywtyw2002
    tywtyw2002
    Jul 1, 2014 via iPhone
    16
    不是都在用 slate嘛?
    devtiange
    devtiange
    Jul 1, 2014
    17
    感觉楼主的方案不如使用 Witch
    codeplay
    codeplay
    OP
    Jul 1, 2014 via iPad
    18
    看来这个问题真是见仁见智,没有统一答案。
    lightening
    lightening
    Jul 1, 2014 via iPhone
    19
    Manico
    xofyarg
    xofyarg
    Jul 1, 2014
    20
    20
    skywalker
    skywalker
    Jul 1, 2014
    21
    keyboard maestro飘过
    skywalker
    skywalker
    Jul 1, 2014
    22
    @tywtyw2002 slate现在已经停止开发很久了吧,有个phoenix还不错,适合高端用户……
    breeswish
    breeswish
    Jul 1, 2014 via Android
    23
    @codeplay 反正。。我是几个月来从来没用过最小化,感觉也一直没啥问题,shiftit+原生快捷键用得挺好
    die4live
    die4live
    Jul 1, 2014
    24
    一直在用 Snap,配合 KR4MB 改的 Hyper 键,各种随意切换
    vexfisher
    vexfisher
    Jul 1, 2014
    25
    一般常用的程序就4个: vim, iTerm2, Browser(Opera), Finder
    我是用alfred给每个程序定义一个热键,要切换到指定的程序,只要按预设的热键即可。
    ichou
    ichou
    Jul 1, 2014
    26
    常切换的感觉 Command+Ta b和 Command+` 就够了
    其他的 三指向上一推
    alfred 也设定热键了 但是好少用的样子
    nezhazheng
    nezhazheng
    Jul 1, 2014
    27
    @vexfisher 弱弱的问下 alfred如何给程序设置的热键的啊。。
    jaysowen
    jaysowen
    Jul 1, 2014
    28
    必须要超过20啊
    vexfisher
    vexfisher
    Jul 1, 2014
    29
    @nezhazheng 好像在设置里面有个 hotkey之类的,你找找看
    puttin
    puttin
    Jul 1, 2014
    30
    楼主4我没看懂 有点兴趣
    codeplay
    codeplay
    OP
    Jul 1, 2014
    31
    @puttin

    不会贴图,见谅哈
    <a href="http://ntu.me/pt/0VKLH/IMG_2551.html" title="IMG 2551" ><img src="http://ntu.me/dt/0VKLH/IMG_2551.jpg" alt="IMG 2551" /></a>
    http://ntu.me/di/0VKLH/IMG_2551.jpg

    一图胜万言,按热键,激活Cmd+Tab模式,按Tab从前往后切换程序,按Shift从后往前切换程序,按`进入当前程序的窗口切换,也可以用HJKL来移动焦点来切换程序(窗口)。
    sparanoid
    sparanoid
    Jul 2, 2014❤️2
    32
    我覺得沒必要這麼麻煩,我的方法一個 app 都不用裝:

    1. 在 Terminal 里,按 cmd - 數字鍵就可以切換窗口,而且最小化的窗口也可以彈出來
    2. 在普通 Finder 窗口和大多數 app 窗口裡,按 control - F3 就可以進入老式 Exposé 的 app 內窗口切換模式,直接按字母就可以搜索標題並定位,最小化的窗口也可以訪問到,很方便

    如果是 app 間的快速切換,可以試試 LaunchBar:

    a154312237
    a154312237
    Jul 2, 2014 via iPad
    33
    收藏了
    puttin
    puttin
    Jul 2, 2014
    34
    谢谢
    tunetoystory
    tunetoystory
    Jul 6, 2014
    35
    HyperSwitch 好物啊,特别是切换同一个应用中的不同窗口!
    show8salary
    show8salary
    Aug 1, 2014
    36
    怒赞
    tunetoystory
    tunetoystory
    Dec 11, 2014
    37
    好像现在新版可以直接把最小化的窗口切出来了!不知道是 10.10 的 feature 还是 HyperSwitch 的
    yangcaimu
    yangcaimu
    Jan 7, 2015❤️1
    38
    现在最小化的窗口可以“召唤”出来了(亲测10.10可以),
    command+tab后移动到最小化的程序,command按住不放,tab松开,再按下option,最后按下enter键,奇迹出现了
    codeplay
    codeplay
    OP
    Jan 7, 2015
    39
    @yangcaimu
    哥,你是弹钢琴的吗?
    zhaohaidao2008
    zhaohaidao2008
    Oct 28, 2016
    40
    大赞,这个完美解决了我的问题

    忍不住出来冒个泡
    sairen139
    sairen139
    Dec 2, 2016 via iPhone
    41
    ihjk 比 hjkl 更合适
    sairen139
    sairen139
    Dec 18, 2016 via iPhone
    42
    @coldplay
    我修改为单机左边 option 启动该切换 mode ,但是左边 option 键和其他键的组合键缺失效率。请问兄弟能提供单机 option 启动该模式又不让 option 组合键功能失效的配置语句吗?谢谢
    sairen139
    sairen139
    Dec 18, 2016 via iPhone
    43
    @coldplay
    你的双击 ctrl 方案很棒,要是能再弄一个单击 ctrl 激活该模式,不让 crtl 的组合键失效的方案就更好了。兄弟有空搞一搞看能不能实现单击 ctrl 的方案。
    ImJoeHs
    ImJoeHs
    Oct 30, 2019
    44
    @codeplay #1 抱歉老哥,挖个坟

    我一直以来也是用 hyperswitch, 但有一个困扰很久的问题
    hyperSwitch 中 app 的排序是先按 window,再按最近激活。这就导致了在多 windows 下的切换非常难受,按 cmd+tab 从 window B 切换到 window A,再按 cmd+tab,默认会切换到 window A 的上一个应用,而不是 window B。
    请问你有什么解决办法么?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1842 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 15:47 · PVG 23:47 · LAX 07:47 · JFK 10:47
    ♥ Do have faith in what you're doing.