Sri*_*mar 12 windows linux mac window-manager
Alt-Tab 或 Command-Tab 有时会很慢,尤其是当您打开许多窗口并且经常只切换到其中的几个窗口时。你如何解决这个问题——除了多次点击 Alt-Tab 组合之外,还有什么工具可以直接切换到所需的窗口(最常访问)?
注意:这应该适用于 Windows 7、Linux 和 Mac。
更新:请发布您的键盘快捷键解决方案(使用鼠标不能更快 - 特别是当您在切换到窗口之前触摸输入/编写代码时)。
Sri*_*mar 16
注意:可以在此处找到本文的最新版本。
最好通过键盘快捷键切换到最常用的应用程序。以下是我在三个主要平台中的每一个上的做法。
我使用 GNOME 作为桌面环境。强烈建议避免在使用键盘可以更快地执行相同功能的区域使用鼠标,以提高工作效率。
例如,如果您使用的是使用TwinView配置的外接显示器,将鼠标指针从笔记本电脑显示器的窗口移动到外接显示器的窗口需要一段时间。如果您的显示器分辨率很高,则需要更多时间。
以下是通常使用鼠标完成的功能列表,但有一个等效的以键盘为中心的方法,如此处所述。
假设您打开了大约 10 个窗口并且想要切换到特定窗口。80/20 规则适用于此 - 您所做的大多数窗口切换都是针对所有可能窗口的一小部分。就我而言,我更经常切换到三个应用程序:Emacs、Firefox 和终端。因此,将预定义的键绑定到这些窗口会更有用。
按下以下组合键将激活相应的窗口。
ctrl + alt + u: Firefox
ctrl + alt + k: Emacs
ctrl + alt + j: Terminal
Run Code Online (Sandbox Code Playgroud)
这些对我来说是最方便的快捷键,但您可以根据需要分配不同的键。
剩下的唯一问题是我们如何做到这一点?例如,如果您使用的是 Sawfish,这将是一项简单的任务。但是对于其他功能不足的窗口管理器,如 Metacity(Ubuntu 中的默认设置),有一个解决方案:wmctrl。在 Ubuntu 上,您可以使用 apt-get 安装 wmctrl。安装后,尝试运行以下命令:
$ wmctrl -a Firefox
$ wmctrl -a emacs
$ wmctrl -a Terminal
Run Code Online (Sandbox Code Playgroud)
-a 选项激活标题与给定参数匹配的窗口。为了映射键,我们使用 xbindkeys。使用 apt-get安装xbindkeys并开始编写配置文件 ~/.xbindkeysrc。以下是我的配置:
"wmctrl -a Firefox"
m:0xc + c:30
Control+Alt + u
"wmctrl -a Terminal"
m:0xc + c:44
Control+Alt + j
"wmctrl -a emacs"
m:0xc + c:45
Control+Alt + k
Run Code Online (Sandbox Code Playgroud)
我通常使用 xbindkeys -k 命令来计算你在上面看到的所有数字代码。例如,m:0xc 对应于 Control+Alt 组合键。您还可以使用图形配置实用程序 xbindkeys-config 来创建 ~/.xbindkeysrc。
您还可以考虑将 xbindkeys 添加到 GNOME 会话首选项以确保每次启动时自动启动。
Firefox 中的无鼠标选项卡切换可以通过多种方式完成:
按 Alt+n,其中 n 是制表符编号。例如,按 Alt+2 切换到第二个选项卡。除了切换到第一个、第二个或第三个选项卡之外,这通常不是很有用。
Ubiquity的 tab 命令。您按 Ctrl+space,然后键入“tab gmai”以切换到 Gmail 选项卡。这确实很有用,尤其是当您打开了很多选项卡时。如果 tab 命令比其他以 t 开头的命令更常用,那么您可以简单地键入“t gmai”而不是“tab gmai”。切换到特定的 Emacs 缓冲区
Emacs 具有出色的ido 模式,可让您在切换缓冲区时以交互方式模糊匹配缓冲区名称。通常,按下 Cx b 以启动微型缓冲区,然后使用制表符完成手动键入缓冲区名称。例如,在 ido 模式下,键入“ny”将匹配缓冲区 main.py;它以交互方式执行此操作,您无需按 Enter 键。将 ido.el 添加到您的路径后,在您的 .emacs 中使用以下 elisp 代码:
;; Buffer switching
(require 'ido)
(ido-mode t)
(setq ido-enable-flex-matching t)
(global-set-key (kbd "M-i") 'ido-switch-buffer)
Run Code Online (Sandbox Code Playgroud)
现在按 Alt+i 以交互方式切换缓冲区。
我自己的 .xbindkeysrc 的最新版本可以在这里找到。
使用名为AutoHotkey的程序也可以在 Microsoft Windows 上完成相同的操作。
这是我在基于 Windows 的笔记本电脑上使用的 AutoHotKey 脚本:
; match window title anywhere
SetTitleMatchMode 2
^!u::WinActivate Opera
^!j::WinActivate ActiveState Komodo
^!k::WinActivate sridharr@double
^!h::WinActivate Mozilla Thunderbird
Run Code Online (Sandbox Code Playgroud)
在 Mac 上,没有 Unixy 方法来分配全局键盘快捷键(例如:xbindkeys)……但有几种解决方法。感谢这篇 serverfault 帖子,我发现Quicksilver是一种分配键盘快捷键来激活特定应用程序的好方法。
有关分配全局键盘快捷键的详细说明,请关注此帖子。由于设置将保存到文件 ~/Library/Application Support/Quicksilver/Triggers.plist,您可以轻松地将其移动或符号链接到您的Dropbox目录。
小智 5
VistaSwitcher是一款优雅而强大的 Windows 操作系统任务管理实用程序。安装后,它会用一个漂亮的框替换默认的 Windows Alt-Tab 对话框,该框显示所有正在运行的任务的列表、名称和预览快照,并使用户能够使用鼠标和键盘快捷键对其进行操作。只需单击一下,您就可以切换任务、最小化、最大化、恢复主窗口或关闭进程。
VistaSwitcher 是免费软件(就像它的前身Taskswitch XP)
归档时间: |
|
查看次数: |
12768 次 |
最近记录: |