微软最近在做 Win10 的 PowerToys,里面有个东西叫 FancyZones:
https://github.com/microsoft/PowerToys/tree/master/src/modules/fancyzones我不怎么用 Windows,不过看起来这东西能让 Windows 的窗口管理 better than better
至于终端,你暂时需要的是带 Tab 的终端模拟器 + tmux。
一个关键的问题是,无论 Win10 还是 macOS,默认设置下,不按 Win+Tab/Cmd+Tab 的话都是看不见不同窗口的标题名的,在任务栏 /Dock 上只能通过图标分辨窗口(而且 Windows 现在默认也像 mac 一样把多个同样的窗口 collapse 到同一个图标上),这导致一个很影响效率的问题,就是如果同一个应用开了多个同类型的窗口,基本不可能一键切换过去。
这个问题会出现在很多常用软件的常用使用场景中,比如多个浏览器窗口,多个终端窗口,多个 Explorer/Finder 窗口,多个编辑器 /IDE 窗口。多个 Office 窗口,多个 PDF 文件——这些都是非常常见的情况。
但是目前主流桌面操作系统的窗口管理机制,根本就没有为这种情况考虑,甚至人为地将“快速切换多个同类型”窗口的任务变得越来越复杂。(目前的桌面系统实际上更适合于“一个浏览器窗口、一个 Word 窗口、一个 PowerPoint 窗口、一个 Excel 窗口、一个 Outlook 窗口、一个 OneNote 窗口、一个 Skype 窗口”的这种场景)移动操作系统更不用说了,貌似 iPadOS 才刚开始做单个 App 多个实例共存。
我认为,不解决这个问题,那就免谈生产力。
不幸地是,所谓的“现代”桌面系统把这个问题完全推给了应用开发者。于是我们看到浏览器有自己的 Tab 系统,终端模拟器有自己的 Tab 系统,终端模拟器里面还可以嵌一个 Tab 系统,Excel 和 OneNote 有自己的 Tab 系统,文件管理器有自己的 Tab 系统,PDF 阅读器有自己的 Tab 系统,编辑器 /IDE 有自己的 Tab 系统,Photoshop 有自己的 Tab 系统,QQ/微信有自己的 Tab 系统 ...
桌面浏览器在世纪初开始引入 Tab,OS X 10.5 ( 09 年)的 Terminal 有了 Tab,10.9 ( 13 年)的 Finder 有了 Tab。最近的 Windows Terminal 作为 9012 年的产品理所当然一开始就有 Tab。
有报道说微软尝试基于 Edge (老的那个)在 Win10 上加入一个略微更 universal 的 Tab。我记得很久之前的 Windows,Explorer 既可以开本地文件夹也可以开网页,这个有点异曲同工,但或许是我记混了,不过确实有这样的产品——KDE 的 Konqueror 就既可以做文件管理器,也可以做浏览器,还有 Tab,虽然这俩东西应该都是历史了)可惜的是后来又说这个东西暂时不做了。
然后就没了 ...
每个软件独立的 Tab,只有两个好处:Tab 和软件本身的结合更紧密;以及桌面环境的开发者省事了。但是造成的问题:软件开发者需要做更多的工作,视觉上会出现不一致(只要看看 Chrome 的 Tab 改过多少版就知道 ...),功能也非常不一致,以及——至少一大部分常用软件,尽管有加 Tab 的需求,却根本就不支持 Tab。
Windows 的 Explorer 到现在没一个官方的 Tab 系统,这导致我到现在一直觉得 Explorer 是个半残的软件,Finder 则是最好用的 GUI 文件管理器(不考虑 bug 比较多的问题的话 ...)( Finder 另一个 killer feature 是“计算所有大小”)
统一 Tab 的另一个重要好处是 Tab 能像窗口一样被桌面环境统一管理,以及统一的搜索——浏览器和文本编辑器已经在做这件事,tmux、Emacs 早就能做到。不过这个其实没那么常用,“搜索”这个操作的成本还是比较高的。Emacs 生态环境有完善的 buffer 管理机制,包括以搜索为核心的操作逻辑——考虑到你可以把任何东西放进 Emacs 的 buffer 里面,这几乎相当于一个半成品的窗口管理器,但是缺少良好支持的好用的 Tab,我认为是 Emacs 的缺陷——如果我的目标 buffer 没有显示在当前 frame 里面,我就必须调起搜索才能找到,但是换在 vim 里面,可能就是 gt 一下的事情,Tab 在不少情况下有不可替代的作用。
again,据我所知,“现代”桌面操作系统目前只停留在搜索应用的阶段,我觉得我们并不能他们指望在这方面能有什么作为。